C语言,整型常量的问题!!!

书上说的“如果整数值超过int型的范围,那么就是long型的。因此如果编译器用2个字节实现int值,那么1000000和33000默认就是long型的,因为2个字节容不下它们。”这具体是什么意思,最好解释通俗点的。谢了~

第1个回答  2010-05-16
不同的数据类型在内存占的空间是不一样的。
在TC(编译环境)下 int 型 占2个字节。
但 int 型
分为长整型 long int
和短整型 short int
一般我定义int 后 系统默认是 short型 占两个字节 范围-32768-32767
如果你超过这个范围 你还定义是int型的 那么有的编译器 就把 你定义的这个数 默认为long int 型的了。

long int 可以简写为long.
第2个回答  2010-05-16
其实只需知道int有这么个范围,大概是多少就可以。其他的可以忽略的。

编译器自动将超过这个范围的数据转为长整型,如果输出则输出long int本回答被提问者采纳
第3个回答  2010-05-16
和溢出有关吧。

参考资料:如果您的回答是从其他地方引用,请表明出处

C语言,整型常量的问题!!!
在TC(编译环境)下 int 型 占2个字节。但 int 型 分为长整型 long int 和短整型 short int 一般我定义int 后 系统默认是 short型 占两个字节 范围-32768-32767 如果你超过这个范围 你还定义是int型的 那么有的编译器 就把 你定义的这个数 默认为long int 型的了。long int...

c语言整型常量问题有什么?
常量所在的内存空间就被加上了只读的属性,它有点类似于const关键字,那么它常见的问题如下:(1) 可以定义const常量,具有不可变性。 例如:const int Max=100; int Array[Max];(2) 便于进行类型检查,使编译器对处理内容有更多了解,消除了一些隐患。例如:void f(const int i) { ...} \/\/...

关于c语言整型常量的范围问题
1、测试结果不正常 2、以下内容来自《C Primer Plus (第6版)》,供您参考 3、C语言中有类似的机制,int偷偷转变成long,或者float转变成double,但并不是一定的。编程时请严格按照数据类型规定的容量范围使用。

C语言中整型常量的疑问
十六进制是计算机内的标准表示形式,负数就是有符号数的最高位是1,正数最高位是0,而负数都是以补码表示,将111表示为十六进制是006F,各位取反为FF90,再加1为ff91,你的答案错了。

C语言问题
这种整型常量是以数字0开头的八进制数字串。其中,数字为0~7。也就是说没8、9!例如:0111(十进制73) 011(十进制9)(3)十六进制整型常量 这种常量是以0x或0X开头的十六进制数字串。其中每个数字可以是0~9、a~f或A~F中的数字或英文字母。例如:0x11(十进制17) 0Xa5(十进制165)...

关于c语言整型常量
既然是整型数,则肯定不能以 0 打头。很显然 037 应该算一个字符串。所以,037 就是一个错误的整型常数。0xAF 是 16进制数,依然算整型数。

c语言整型常量问题
1、整型:就是我们平时说的整数,但是在计算机里面,它给这个整数划定了一个范围。比如int型的范围就是- 32768 ~ 32767,意思是给它定义的时候,只能这个范围内定义,超出了就要出错。所以呀,就有人想呀,如果我要定义更大的数怎么办??好了,接下来就有了long (长整型),long long (长长整型...

问一道关于整型变量的题: 下列是C语言中整型常量的是,() A、0x10B...
A正确,是16 B错误,八进制没有数字9 C错误,整型常量不能加长整型标识 D错误,八进制没有数字f

为什么C语言中常量必须是整型的?
因为因为计算机所有信息(包括数据和指令)都是采用二进制编码的(就是说计算机只能识别和执行由来0,1组成的二进制的指自令)。C语言中有编译过程,实际就是把源程序翻译成二进制形式的目标程序。(1)十进制整型常量由一串连续的0~9数字组成。如: 0、120、 365、-12等。(2)八进制整型常量以数字0...

怎样声明C语言的整型,实型常量
比如整型常量:const int a;此时a为整型常量,a就不能再次对它赋值了 如实型常量:const float a; \/\/这是单精度实型 const double a; \/\/这是双精度实型 望水

相似回答