我需要帮助使用 2 的表示法减去二进制并为每个数字使用 5 位:
1) -9 -7 = ? 有溢出吗?
-9 = 01001(2 的补码 = 10111)和 -7 = 00111(2 的补码 = 11001)
现在我们需要添加,因为我们使用的是 2 的补码
10111 +11001 = 100000 但是这个答案没有意义。另外,我假设有溢出,因为答案中有超过 5 位。
2)6 - 10,与之前相同的过程。负二进制数对我来说没有意义
我需要帮助使用 2 的表示法减去二进制并为每个数字使用 5 位:
1) -9 -7 = ? 有溢出吗?
-9 = 01001(2 的补码 = 10111)和 -7 = 00111(2 的补码 = 11001)
现在我们需要添加,因为我们使用的是 2 的补码
10111 +11001 = 100000 但是这个答案没有意义。另外,我假设有溢出,因为答案中有超过 5 位。
2)6 - 10,与之前相同的过程。负二进制数对我来说没有意义
1) -9 - 7
-9 - 7 = -9 + -7
9(二进制)= 01001
-9(2 的补码)= 10111
7(二进制)= 00111
-7(2 的补码)= 11001
10111 +
11001 =
110000
这不适合 5 位。消除溢出我们得到 10000,即 -16(二进制)。
2) 6 - 10
6 - 10 = 6 + -10
6(二进制)= 00110
10(二进制)= 01010
-10(2 的补码)= 10110
00110 +
10110 =
11100
这适合 5 位并且是 -4(二进制)。
10111 + 11001 不是 100000 而是 110000。
1111
10111
+ 11001
-----
110000
第一个问题的答案是错误的。要使用二进制补码查找 -9-7,我们需要执行以下步骤:
STEP:1 第一个数字的转换 第1次9的二进制转换:01001 第二次找到二进制的补码:10110 二进制补码加 1:10110 +1 ----- 10111 第 2 步:转换第二个数字 第1次7的二进制转换:00111 第二次找到二进制的补码:11000 二进制补码加 1:11000 +1 -------- 11001 第 3 步:添加 现在添加两个输出 -9 + (-7):10111 +11001 -------- 110000 最重要的是检查答案是否正确。 您可以对二进制数字使用索引:7 6 5 4 3 2 1 0 1 1 0 0 0 0 找到每个具有 1 位数字的指数的 2 次幂。 (-)2^5 + 2^4
* 使用注 (-) 是因为在二进制补码中,最高有效位(具有最高索引的位)是符号位 -2^5 + 2^4 = -32 + 16 = -16 这是正确答案-9-7=-16。因此,2 的补码成为表示负数的流行方式。对于符号幅度,我们需要假设一个符号位,这在计算机中很难实现,对于 1 的补码,我们需要加 1 才能找到正确的答案。