
2.2.1 整型常量
整型常量就是直接使用的整型常数,0、100、-200等都是整型常量。
整型常量可以是长整型、短整型、符号整型和无符号整型。如表2.1所示,这几种整数类型如同容积不同的烧杯,虽然用法一样,但在不同场景就要使用不同的烧杯。
表2.1 整型常量数据类型

学习笔记
不同的编译器的整型常量的取值范围是不一样的。而且,可能在16位的计算机中整型常量为16位,而在32位的计算机中整型常量就为32位。
在编写整型常量时,可以在常量的后面加上符号L或U进行修饰。L表示该常量是长整型,U表示该常量为无符号整型,例如:

学习笔记
表示长整型和无符号整型的后缀字母L和U可以是大写的,也可以是小写的。
学习笔记
所有整型常量都可以通过三种形式表达,分别为八进制形式、十进制形式和十六进制形式。下面分别进行介绍。
1. 八进制整数
使用的数据表达形式是八进制,需要在常数前面加上0进行修饰。八进制形式包含的数字是0~7。例如:

以下是八进制形式的错误写法:

2. 十六进制整数
常量前面使用0x作为前缀(注意:0x中的0是数字0,而不是字母O),表示该常量是用十六进制进行表示的。十六进制形式包含数字0~9及字母A~F。例如:

学习笔记
字母A~F可以使用大写形式,也可以使用小写形式。
3. 十进制整数
十进制形式是不需要在常量前面添加前缀的,包含的数字为0~9。例如:

整型数据都以二进制形式存放在计算机的内存之中,数值是以补码的形式进行表示的。正数的补码与原码的形式相同,负数的补码是将该数绝对值的二进制形式按位取反再加1。例如,十进制数11在内存中的表现形式如图2.6所示。

图2.6 十进制数11在内存中的表现形式
如果是-11,那么它在内存中又是怎样表现的呢?因为是用补码进行表示,所以要先将其绝对值求出,如图2.6所示;然后进行取反操作,如图2.7所示,得到取反后的结果。

图2.7 进行取反操作
取反之后进行加1操作,这样就得到最终的结果,如图2.8所示。

图2.8 进行加1操作
学习笔记
对于有符号整数,其在内存中存放的最左面的一位表示符号位。如果该位为0,则说明该数为正数;如果该位为1,则说明该数为负数。
学习笔记
在Windows操作系统中,“开始”菜单的“附件”命令中有一个软件——计算器,可以使用它进行八进制、十进制和十六进制之间的转换。需要注意的是,要选用科学型计算器,如图2.9所示,调整的方法是在“查看”菜单中选择“科学型”命令。

图2.9 科学型计算器