C语言:30000 为int型 65536 为long int 型 为什么呢??求解释,我会采纳的

如题所述

这显然是16位int平台下的题目。由于规定了int字长是16位二进制,所以只能表达-32768~+32767的整数,所以就默认这个范围内的整数为int型。30000在-32768~+32767范围内,所以是int型。但16位C平台下还有一个long int类型,它的字长是32位二进制,能表达的整数范围是-2147483648~+2147483647,所以就规定在-32768~+32767之外-2147483648~+2147483647之内的整数默认为long int型,65536自然是在这个范围之内。在32位平台下,long int和int的字长都是32位二进制,所以它们就没有区别了,
30000和65536都会被默认为是int型。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-19
int 整型的取值范围:-32768~32767 占两个字节 long 整型占4个字节,取值范围要大得多追问

总之长整型里的数要比整型里的大是吧?

追答

不是这个意思喔,变量只是一个数据容器,长整型比普通整型所能存放的数据范围要大一些。就像一个大杯子和一个小杯子。根据你需要用来存放的数据大小来选择数据类型。

本回答被提问者和网友采纳
第2个回答  2019-04-04
这显然是16位int平台下的题目。由于规定了int字长是16位二进制,所以只能表达-32768~+32767的整数,所以就默认这个范围内的整数为int型。30000在-32768~+32767范围内,所以是int型

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网