我需要帮忙使用二进制的2的补码来进行减法运算,并且在每个数字中使用5个位:
1) -9 -7 = ? 是否有溢出?
-9 = 01001(二进制的2's补码为10111),-7 = 00111(二进制的2's补码为11001)
现在我们需要相加,因为我们使用了2的补码
10111
+11001
= 100000,但这个答案没有意义。此外,由于答案超过了5位,我假设存在溢出。
2) 6 - 10,与之前的过程相同。负二进制数对我来说没有意义。
1) -9 -7 = ? 是否有溢出?
-9 = 01001(二进制的2's补码为10111),-7 = 00111(二进制的2's补码为11001)
现在我们需要相加,因为我们使用了2的补码
10111
+11001
= 100000,但这个答案没有意义。此外,由于答案超过了5位,我假设存在溢出。
2) 6 - 10,与之前的过程相同。负二进制数对我来说没有意义。
-9(二进制):0000 1001
和-9(2的补码):1111 0111
。-7(二进制):0000 0111
和-7(2的补码):1111 1001
。现在将它们相加:1111 0111 +1111 1001
将产生一个进位1
和输出1111 0000
。在1111 0000
的最左边,表示输出为负数(即“-”)。 因此,现在取输出的补码并加上1
。那就是你的二进制答案。 你的问题可以理解为:“(-9)-(+7)”。因此,您不必浪费时间来推导出-7
的二进制补码。 - phougatv