二进制数根据符号的不同,主要分为 有符号数和 无符号数两类,具体区别如下:
一、有符号数
符号表示 有符号数通过最高位(第1位)表示符号,0表示正数,1表示负数。其余位表示数值大小。例如:
- `01011010` 表示正数(十进制为86)
- `10000101` 表示负数(十进制为-85,采用补码表示)
补码表示
负数在计算机中以补码形式存储,补码计算规则为:
- 先取原码(符号位不变,数值位取反)
- 然后加1
例如,-127的原码为 `10000001`,反码为 `11111110`,补码为 `11111111`
二、无符号数
符号特性
无符号数仅用于表示非负数,所有位均用于表示数值大小,没有符号位。例如:
- `01011010` 表示正数(十进制为86)
- `11111110` 表示最大无符号数(十进制为254)
应用场景
无符号数在内存管理、位运算(如位移操作)及硬件设计中应用广泛,例如表示颜色值(0x00FF00表示绿色)
三、其他相关概念
进制转换: 二进制与十六进制常用4位二进制对应1位十六进制(如 `1010` → `A`) 存储效率
通过合理使用有符号数和无符号数,计算机可高效处理正负数及不同范围的数值。