一、原码、反码、补码
1、转换方法
| 正数 | 负数 | |
|---|---|---|
| 原码(最高位为符号位,其余位为数值位) | 0xxx | 1xxx |
| 反码 | 等于原码 | 原码除符号位外的其他位全部取反 |
| 补码 | 等于原码 | 反码 + 1 |
2、对照表
以 4 比特位为例
| 原码 | 反码 | 补码 | |
|---|---|---|---|
| +7 | 0111 | 0111 | 0111 |
| +6 | 0110 | 0110 | 0110 |
| +5 | 0101 | 0101 | 0101 |
| +4 | 0100 | 0100 | 0100 |
| +3 | 0011 | 0011 | 0011 |
| +2 | 0010 | 0010 | 0010 |
| +1 | 0001 | 0001 | 0001 |
| +0 | 0000 | 0000 | 0000 |
| -1 | 1001 | 1110 | 1111 |
| -2 | 1010 | 1101 | 1110 |
| -3 | 1011 | 1100 | 1101 |
| -4 | 1100 | 1011 | 1100 |
| -5 | 1101 | 1010 | 1011 |
| -6 | 1110 | 1001 | 1010 |
| -7 | 1111 | 1000 | 1001 |
| -8 | 1000 |
注意
规定用 1000 作为 -8 的补码,而不用来表示 -0(《数字电子技术基础(第五版)》§1.4.2)
二、有符号整数、无符号整数
有符号整数才有原码、反码和补码!!!
有符号整数才有原码、反码和补码!!!
有符号整数才有原码、反码和补码!!!
有符号整数在内存中以补码形式存储,无符号整数在内存中直接以二进制形式存储
原码、补码、反码及有/无符号整数
1289

被折叠的 条评论
为什么被折叠?



