原码表示

0的表示:0 的原码表示有两种形式,即分别按照正数和负数表示。
- +0 == 00…0
- -0 == 10…0
补码表示


0的表示: 0 的补码表示形式是唯一的
表示范围:
- 定点整数:
- 定点小数:
计算机中的整型数据(int)均用补码来表示。
| 机器数 | 原码真值 | 补码真值 |
|---|---|---|
| 0000 | 0 | 0 |
| 0001 | +1 | +1 |
| 0010 | +2 | +2 |
| 0011 | +3 | +3 |
| 0100 | +4 | +4 |
| 0101 | +5 | +5 |
| 0110 | +6 | +6 |
| 0111 | +7 | +7 |
| 1000 | -0 | -8 |
| 1001 | -1 | -7 |
| 1010 | -2 | -6 |
| 1011 | -3 | -5 |
| 1100 | -4 | -4 |
| 1101 | -5 | -3 |
| 1110 | -6 | -2 |
| 1111 | -7 | -1 |
| 可以看出来, 补码的正数个数和负数个数是一样的 |
反码表示


| 机器数 | 原码真值 | 反码真值 |
|---|---|---|
| 0000 | 0 | 0 |
| 0001 | +1 | +1 |
| 0010 | +2 | +2 |
| 0011 | +3 | +3 |
| 0100 | +4 | +4 |
| 0101 | +5 | +5 |
| 0110 | +6 | +6 |
| 0111 | +7 | +7 |
| 1000 | -0 | -7 |
| 1001 | -1 | -6 |
| 1010 | -2 | -5 |
| 1011 | -3 | -4 |
| 1100 | -4 | -3 |
| 1101 | -5 | -2 |
| 1110 | -6 | -1 |
| 1111 | -7 | -0 |
移码表示
即为补码的符号位取反, 其它都是相同的
- 0: 表示负数
- 1: 表示正数
| 机器数 | 原码真值 | 移码真值 |
|---|---|---|
| 0000 | 0 | -8 |
| 0001 | +1 | -7 |
| 0010 | +2 | -6 |
| 0011 | +3 | -5 |
| 0100 | +4 | -4 |
| 0101 | +5 | -3 |
| 0110 | +6 | -2 |
| 0111 | +7 | -1 |
| 1000 | -0 | 0 |
| 1001 | -1 | +1 |
| 1010 | -2 | +2 |
| 1011 | -3 | +3 |
| 1100 | -4 | +4 |
| 1101 | -5 | +5 |
| 1110 | -6 | +6 |
| 1111 | -7 | +7 |