原码、补码、反码、有符号整数、无符号整数
文章目录
- 一、原码、反码、补码
- 1、转换方法
- 2、对照表
- 注意
- 二、有符号整数、无符号整数
一、原码、反码、补码
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)
二、有符号整数、无符号整数
有符号整数才有原码、反码和补码!!!
有符号整数才有原码、反码和补码!!!
有符号整数才有原码、反码和补码!!!
有符号整数在内存中以补码形式存储,无符号整数在内存中直接以二进制形式存储