|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 新手关于如何用程序验证常用数据类型的取值范围的问题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
915
人关注过本帖
标题:
新手关于如何用程序验证常用数据类型的取值范围的问题
只看楼主
加入收藏
小强X2
等 级:
新手上路
帖 子:2
专家分:0
注 册:2009-9-15
结帖率:
0
楼主
收藏
已结贴
√
问题点数:20 回复次数:4
新手关于如何用程序验证常用数据类型的取值范围的问题
是这样的,我想写一个小程序来验证c语言中int,long,float这些常用类型的取值范围,一开始想了一个:
int i;
i=1;
while(i>0)
{
i++;
}
printf("MAX=%d",i-1);
当然,这方法忒笨了,int还好点,要是换成float不知道算到什么时候了,想来想去也没有想到好的方法,所以来听听看大家有什么好的思路没有~~
搜索更多相关主题的帖子:
范围
数据
类型
2009-09-15 21:43
举报帖子
使用道具
赠送鲜花
已屏蔽
等 级:
论坛游侠
帖 子:89
专家分:124
注 册:2009-9-5
第
2
楼
收藏
得分:6
float是按精度算的。。。怎么测。。。- -
2009-09-15 22:56
举报帖子
使用道具
赠送鲜花
UserYuH
来 自:毅华
等 级:
火箭侠
威 望:
8
帖 子:720
专家分:3300
注 册:2009-8-10
第
3
楼
收藏
得分:6
整数的用按位取反。
main()
{
int
a,a1;
long c,c1;
a=0x8000; /* 二进字是:10000000 00000000
负 -32768 */
a1=~a;/* 取反,二进字:01111111 11111111
正
32767
c=0x80000000; /* 二进字:10000000 00000000
00000000 00000000
负 -2147483648 */
c1=~c;
/* 取反
二进字:01111111 11111111
11111111 11111111
正
2147483647 */
printf("int=%d~%d\nlong=%ld~%ld\nfloat=%f",a,a1,c,c1);
}
float四字节,有指数位和数字部份,教材上也只是说:约多少到多少。6位精度
努力—前进—变老—退休—入土
2009-09-15 23:11
举报帖子
使用道具
赠送鲜花
zhddragon
等 级:
职业侠客
帖 子:208
专家分:346
注 册:2009-5-14
第
4
楼
收藏
得分:6
回复 楼主 小强X2
对于有符号的整型(char int long)
int b = 1 << (sizeof(int)*8 - 1);//最小值
int c = (~0)^b;//最大值
对于无符号整型
unsigned int a = ~(unsigned int)0;//最大值
身体是玩命的本钱
2009-09-16 00:20
举报帖子
使用道具
赠送鲜花
小强X2
等 级:
新手上路
帖 子:2
专家分:0
注 册:2009-9-15
第
5
楼
收藏
得分:0
回复 楼主 小强X2
*^^*
我也不太懂嘛。。。。。。
2009-09-16 15:21
举报帖子
使用道具
赠送鲜花
5
1/1页
1
快速回复:
新手关于如何用程序验证常用数据类型的取值范围的问题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.015894 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved