首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C语言中,ANSI标准定义的整数类型中,最小取值范围是什么意思?解决方案

2012-02-22 
C语言中,ANSI标准定义的整数类型中,最小取值范围是什么意思?C语言中,ANSI标准定义的整数类型中,最小取值范

C语言中,ANSI标准定义的整数类型中,最小取值范围是什么意思?
C语言中,ANSI标准定义的整数类型中,最小取值范围是什么意思?如:int的最小取值范围是-32768~32767。最小取值范围是指不能低于此值,但可以高于此值。这里的此值是-32768呢?还是32767?还是别的?既然说int型变量的最大允许值为32767,为什么还要说但可以高于此值呢?郁闷中,请高手们帮我解答一下。

[解决办法]
最小取值范围是什么意思?如:int的最小取值范围是-32768~32767。最小取值范围是指不能低于此值,但可以高于此值。
------------------------------
是中文表达的问题。。。

准确的说,应该是至小区间,也就是int的取值范围至少应该是-32768~32767(也就是2字节的int实现)。当然,int也可以实现为4字节,那么int的取值范围就大于-32768~32767这个区间了。
这里说的不能低于此值,就是说int的取值范围不能小于-32768~32767这个区间(实现上来说,就是不能用1个字节实现int)。
[解决办法]
int取值和机器有关,上面所说的是16位机器unsigned int的取值范围

----------------

这里明显不是unsigned int。

楼主只要这样理解就行了,只有int,unsigned int,enum型的变量是和机器字长有关的,在16位的机子下就是16位,32位的机子下就是32位,其余类型均有固定长度。

范围只有一个范围,比如16位的int(2字节),取值只能在-32768 - 32767之间,byte(1字节),取值只能在-128 - 127。

热点排行