
吕老师为您分享以下优质知识
二进制中正负号的区分主要通过符号位和表示方法实现,具体如下:
一、符号位判断
二进制数最高位(最左边的位)用于表示符号:
- 0:
表示正数或零
- 1:表示负数
二、数值表示方法
直接将数值按二进制表示,符号位固定,其余位为数值。例如:
- 正数 `+5` 表示为 `0000000000000101`
- 负数 `-5` 表示为 `1000000000000101`
- 缺点是存在 `+0` 和 `-0` 两种表示
反码
负数的反码是符号位不变,其余位按位取反。例如:
- `-5` 的反码为 `1111111111111010`
- 正数的反码与原码相同
补码
负数的补码是反码加1。例如:
- `-5` 的补码为 `1111111111111011`
- 补码的优点是简化加减运算,避免溢出
三、应用场景
计算机内部统一使用补码
实际计算机中,无论是有符号数还是无符号数,均以补码形式存储和运算,仅符号位单独表示正负
四、注意事项
无符号数无符号位:
无符号数全为数值位,符号位默认为0,例如 `0000000000000101` 表示正数5
位数影响范围:8位二进制数可表示 `-128` 到 `+127`,32位可表示更大范围