- 零基础C++学习笔记
- 明日科技编著
- 957字
- 2024-01-22 18:12:20
2.2.1 整型常量
整型常量就是直接使用的整型常数,0、100、-200等都是整型常量。
整型常量可以是长整型、短整型、符号整型和无符号整型。如表2.1所示,这几种整数类型如同容积不同的烧杯,虽然用法一样,但在不同场景就要使用不同的烧杯。
表2.1 整型常量数据类型
![](https://epubservercos.yuewen.com/273C7A/26763559209263406/epubprivate/OEBPS/Images/026-3.jpg?sign=1739550206-4up5fixRdiJG1Wrdo5YKqppZAeRIENFG-0-e655f35e0e430560ba1ce166e7c9c4e9)
学习笔记
不同的编译器的整型常量的取值范围是不一样的。而且,可能在16位的计算机中整型常量为16位,而在32位的计算机中整型常量就为32位。
在编写整型常量时,可以在常量的后面加上符号L或U进行修饰。L表示该常量是长整型,U表示该常量为无符号整型,例如:
![](https://epubservercos.yuewen.com/273C7A/26763559209263406/epubprivate/OEBPS/Images/027-1.jpg?sign=1739550206-YP9Fs9AOkkF3DlkKn6eLlyOofFLVFH8j-0-edd36112eba8f214ecdd86b7c28314ca)
学习笔记
表示长整型和无符号整型的后缀字母L和U可以是大写的,也可以是小写的。
学习笔记
所有整型常量都可以通过三种形式表达,分别为八进制形式、十进制形式和十六进制形式。下面分别进行介绍。
1. 八进制整数
使用的数据表达形式是八进制,需要在常数前面加上0进行修饰。八进制形式包含的数字是0~7。例如:
![](https://epubservercos.yuewen.com/273C7A/26763559209263406/epubprivate/OEBPS/Images/027-2.jpg?sign=1739550206-TgiY2Jc4xQgq8oNcTkhu1xkSXATcJyRt-0-67bec985743240f5ef65bd2a19fc6fe5)
以下是八进制形式的错误写法:
![](https://epubservercos.yuewen.com/273C7A/26763559209263406/epubprivate/OEBPS/Images/027-3.jpg?sign=1739550206-NfEKCDPm0x4bnLmxdJIonjrF787KkGVK-0-344adbb5fed51f7b863e3e4572428a83)
2. 十六进制整数
常量前面使用0x作为前缀(注意:0x中的0是数字0,而不是字母O),表示该常量是用十六进制进行表示的。十六进制形式包含数字0~9及字母A~F。例如:
![](https://epubservercos.yuewen.com/273C7A/26763559209263406/epubprivate/OEBPS/Images/027-4.jpg?sign=1739550206-VintURnybm4EgRXZCv2aO9vCXDzzRIGD-0-3b4e0ffc906d8f39e37e11c1a851494b)
学习笔记
字母A~F可以使用大写形式,也可以使用小写形式。
3. 十进制整数
十进制形式是不需要在常量前面添加前缀的,包含的数字为0~9。例如:
![](https://epubservercos.yuewen.com/273C7A/26763559209263406/epubprivate/OEBPS/Images/028-1.jpg?sign=1739550206-y2it5rZRLNwDrclTKEELtH4YKK97aZqm-0-577d14a341ac951e9771ed45def05014)
整型数据都以二进制形式存放在计算机的内存之中,数值是以补码的形式进行表示的。正数的补码与原码的形式相同,负数的补码是将该数绝对值的二进制形式按位取反再加1。例如,十进制数11在内存中的表现形式如图2.6所示。
![](https://epubservercos.yuewen.com/273C7A/26763559209263406/epubprivate/OEBPS/Images/028-2.jpg?sign=1739550206-WNAhxZh68bkUnZ1xFF0chTHm8n0ouUgt-0-54907f8066d2c849c8d6ad95a235a3ba)
图2.6 十进制数11在内存中的表现形式
如果是-11,那么它在内存中又是怎样表现的呢?因为是用补码进行表示,所以要先将其绝对值求出,如图2.6所示;然后进行取反操作,如图2.7所示,得到取反后的结果。
![](https://epubservercos.yuewen.com/273C7A/26763559209263406/epubprivate/OEBPS/Images/028-3.jpg?sign=1739550206-Abc34JthJryYenokYHwWwEpwmKg9dRsw-0-95bd7c7d4a72c9c1661520b3959135f3)
图2.7 进行取反操作
取反之后进行加1操作,这样就得到最终的结果,如图2.8所示。
![](https://epubservercos.yuewen.com/273C7A/26763559209263406/epubprivate/OEBPS/Images/028-4.jpg?sign=1739550206-rCdQF94hVrA03RU06AflSrgJTT7lqnNE-0-1b2af4ffe03638ae794a8ee67fdf20a9)
图2.8 进行加1操作
学习笔记
对于有符号整数,其在内存中存放的最左面的一位表示符号位。如果该位为0,则说明该数为正数;如果该位为1,则说明该数为负数。
学习笔记
在Windows操作系统中,“开始”菜单的“附件”命令中有一个软件——计算器,可以使用它进行八进制、十进制和十六进制之间的转换。需要注意的是,要选用科学型计算器,如图2.9所示,调整的方法是在“查看”菜单中选择“科学型”命令。
![](https://epubservercos.yuewen.com/273C7A/26763559209263406/epubprivate/OEBPS/Images/028-5.jpg?sign=1739550206-Ybb04RW7vdLz3R6ReSifu6yo39MI6NO4-0-807b91bfdc61925f9b340f994fb27b42)
图2.9 科学型计算器