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。
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。