
理想的翅膀为您分享以下优质知识
整形变量的二进制存储主要采用 补码形式,并遵循以下规则:
一、存储形式
补码表示
所有整数(包括正数和负数)在内存中均以 补码形式存储。补码通过以下步骤生成:
- 正数:原码、反码、补码相同;
- 负数:原码取反后加1。
符号位与数值位
补码最高位为 符号位(0表示正数,1表示负数),其余位为数值位。例如,-10的补码为`1111 1111 1111 1111 1111 1111 1110 1101`。
二、存储过程
空间分配
根据变量类型(如`int`通常4字节)分配内存空间,操作系统不区分符号,仅根据类型确定大小。
数据转换与存储
- 将数值转换为二进制补码;
- 按 大小端规则(小端存储:低地址存低字节,高地址存高字节)存入内存。
三、读取与解释
读取时按大小端顺序获取二进制数据;
有符号数需根据最高位判断符号,补码直接作为数值解释。
四、类型与范围
常见类型:`int`(4字节,-2,147,483,648到2,147,483,647)、`short`(2字节,-32,768到32,767)等;
无符号类型(如`unsigned int`)仅存储非负数,范围从0开始。
五、位操作应用
可通过位掩码、移位等操作处理二进制数据,例如:
提取低4位:`data & 0x0000000F`;
设置特定位:`data | 0x0000000F`。