整形变量在计算机中是以二进制的方式存储的,这种方式使用 0 和 1 两个数字来表示数据。
对于有符号整数,zui高位(zui左侧位)表示变量的符号,0 表示正数,1 表示负数。剩余的位用于存储变量的绝对值。
对于无符号整数,所有位都用于存储变量的绝对值。
存储整形变量的字节数由变量的位数决定。常见的整形变量类型及其位数/字节数如下:
8 位(1 字节): char、bool
16 位(2 字节): short int
32 位(4 字节): int
64 位(8 字节): long long int
例如,一个 32 位的有符号整数将以以下方式存储:
符号位 | 绝对值位
如果整数为正,符号位为 0,其余位用于存储绝对值。如果整数为负,符号位为 1,其余位使用二进制补码来表示绝对值。
在计算机中,整形变量通常存储在称为寄存器或内存单元的特定位置。当需要对变量进行*作时,计算机将从这些位置中提取变量的值并执行必要的运算。
整形变量的功能在于存储整数值,而字符常量是单个字符的文字表示。虽然整形变量可以存储字符常量对应字符的 ASCII 码,但这种方式无法充分利用整形变量的存储空间,只能存放单个字符的信息。
在实际编程中,整形变量更适合用于存储整数类型的数据,例如计数器、循环索引值等。而字符常量通常需要与字符串变量配合使用,字符串变量是一个字符数组,可以存储一个或多个字符的序列。
因此,整形变量不能直接存放任何字符常量的值。如果需要存储字符常量,可以使用字符串变量或字符数组。字符串变量提供了一种更直接、更合适的方式来处理文本数据。
整形变量的存储方式
整形变量在计算机中以二进制形式存储,存储方式主要有两种:
1. 补码
对于无符号整数,与二进制直接对应。
对于有符号整数,zui高位为符号位(0 表示正数,1 表示负数),其余位表示数值。
正数的补码与原码相同。
负数的补码:取原码,对每一位取反,再加 1。
2. 移码
对于无符号整数,与二进制直接对应。
对于有符号整数,zui高位为符号位(0 表示正数,1 表示负数),其余位表示数值。
移码 = 原码(正数)/补码 + 1(负数)
存储大小
整形变量的存储大小由其位数决定,常见的有:
8 位:byte
16 位:short
32 位:int
64 位:long
字节序
整形变量在内存中存储时,字节顺序分为两种:
小端序:低位字节存储在低*。
大端序:高位字节存储在低*。
不同平台可能采用不同的字节序。
整数变量有三种主要的表示形式:
1. 十进制表示形式
十进制表示形式是我们在日常生活中使用的zui常见的表示形式。它使用数字 0 到 9 来表示数字。例如,数字 123 在十进制表示形式中表示为 1 × 10^2 + 2 × 10^1 + 3 × 10^0。
2. 八进制表示形式
八进制表示形式使用数字 0 到 7 来表示数字。例如,数字 123 在八进制表示形式中表示为 1 × 8^2 + 2 × 8^1 + 3 × 8^0。
3. 十六进制表示形式
十六进制表示形式使用数字 0 到 9 和字母 A 到 F 来表示数字。例如,数字 123 在十六进制表示形式中表示为 1 × 16^2 + 2 × 16^1 + 3 × 16^0。
不同的表示形式为不同的用途提供便利。例如,十进制表示形式通常用于日常生活中,而八进制和十六进制表示形式则在计算机编程和数字电路设计中更常使用。