目录
- 正数:
- 负数:
- 负数 -->补码:
- 过程示例:
- 补码 --> 负数:
- 法一:
- 法二:
正数:
正数补码 = 自身对应二进制数
e.g. 27 = 0001 1011
负数:
负数 -->补码:
- 取得负数的绝对值的二进制数字
- 按位取反
- 加1
e.g: -86 = 1010 1010
过程示例:
-
|-86|= 86,86 --> 0101 0110
-
0101 0110 :按位取反指是0的位取1,是1的位取0
故有:1010 1001
-
加1:1010 1001 + 1 = 1010 1010
-
-86补码为 1010 1010
补码 --> 负数:
法一:
逆过程即可
法二:
首位取负,其余位取正,乘对应权重:
-86 = 1010 1010(补码)
10101010
=
−
1
∗
2
8
−
1
+
0
+
1
∗
2
6
−
1
+
0
+
1
∗
2
4
−
1
+
0
+
1
∗
2
2
−
1
+
0
1010 1010 = -1*2 ^ {8-1} + 0 + 1 * 2 ^ {6-1} + 0 + 1 * 2 ^ {4-1} + 0 + 1 * 2^{2-1} + 0
10101010=−1∗28−1+0+1∗26−1+0+1∗24−1+0+1∗22−1+0
更多推荐
简记:计算机补码与原十进制数的转换
发布评论