二进制负数和正数的表示方法主要分为有符号数和无符号数两种形式,具体如下:
一、有符号数表示
符号位表示法 - 最高位为符号位:0表示正数,1表示负数
- 示例:
- 正数 `+5` 的二进制为 `0000 0101`(8位)
- 负数 `-5` 的二进制为 `1000 0101`(8位)
补码表示法
- 负数通过正数的补码表示,计算方法为:
- 取原码(除符号位外)的反码(0变1,1变0)
- 反码加1
- 示例:
- 正数 `5` 的二进制为 `0000 0101`
- 负数 `-5` 的补码为 `1000 0101`(原码 `1000 1011` 反转后加1)
二、无符号数表示
所有位均用于表示数值,0表示零,1表示数值
例如:
`0000 0101` 表示正数 `5`
`0000 1011` 表示正数 `11`(十进制)
三、其他说明
原码: 直接存储数值,符号位单独表示(如 `-5` 的原码为 `1000 1011`) 反码
补码:反码加1(如 `-5` 的补码为 `1111 0101`)
补码表示法的优势在于:
加法运算统一处理正负数
简化硬件设计
四、总结表
| 数值 | 二进制(8位) | 符号位 | 原码 | 反码 | 补码 |
|--------|----------------|--------|------------|------------|------------|
| +5 | 0000 0101 | 0 | 0000 0101 | 0000 0101 | 0000 0101 |
| -5 | 1000 0101 | 1 | 1000 1011 | 1111 0100 | 1111 0101 |
通过上述方法,二进制数既能表示正数也能表示负数,且计算机内部统一采用补码形式进行运算。