1.整型常量
整型常量的表示方法:
➢十进制整数,如15、68、-12。
➢八进制整数,以0开头的数是八进制数。例如:0123表示八进制数123,相当于十进制数83。
➢十六进制整数。以0x开头的数是十六进制数。如0x123表示十六进制数123,相当于十进制数291。
2.整型变量
(1)整型变量在内存中的存放形式
数据在内存中是以二进制形式存放的。比如int i=10;十进制数10对应的二进制数为1010,所以在内存中存放的是1010。
(2)整型变量的分类
整型变量的基本数据类型符为int。可以根据数值的范围将变量定义为基本整型、短整型或长整型。
➢基本类型:以int表示;
➢短整型:以short int或者short表示;
➢长整型:以long int或者long表示。
一个int型变量的范围为-2147483648~2147483647,即-231~(231-1),其余数据类型以此类推。
例2.2:测试整型所占内存大小(www.xing528.com)
例2.2中通过sizeof求每种类型在内存中所占字节的大小(长度),如图2.4所示。
图2.4 检测数据类型的长度
使用不同的编译系统时,具体情况可能有些差别,例如Visual C++为整型数据分配4字节(32位),其取值范围为-2147483648~2147483647;而Turbo C/Turbo C++为整型数据分配2字节(16位),取值范围为-32768~32767。
3.整型数据的溢出
我们知道类型都有一定的取值范围,如果我们在程序中使用变量时超出了范围,那将会出现什么情况?
例2.3:整型数据的溢出
在例2.3中声明了两个短整型变量a和b,它们的取值范围都是在-32768~32767之间,将此范围的最大值赋给变量a,然后执行b=a+1时,b就发生了“溢出”。但运行时并没有报错,它好像汽车的里程表一样,达到最大值之后,又从最小值开始计数。所以,32767加1得不到32768,而得到了-32768。解决办法:将short改为long,b就能得到预期的结果32768,如图2.5所示。
图2.5 例2.3程序运行结果
4.整型常量的类型
整型变量可分为int、short、long等类别,那么常量是否也有这些类别?不同类别的常量和变量是如何进行匹配的?请注意以下几点:
➢一个整数,如果其值在-2147483648~2147483647,就认为它是int型,它可以赋值给int型和long int型。
➢在一个整型常量后面加一个字母l(long的首字母)或者L,则认为是long int型常量,例如12l、56L等。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。