【发布时间】:2012-03-20 08:39:39
【问题描述】:
我正在学习计算机组织和汇编语言课程。本周我们实验室的书面部分有一个问题让我很难过。问题是……
减去以下无符号二进制数(显示借位和溢出位)。不要转换为二进制补码。
0101 0111 1101
-1110 1011 0110
--------------
我知道答案是 -1001 0011 1001,但我很难弄清楚如何借用更大的数字并从较小的数字并展示我的作品。从一个小数中减去一个大数时,我的整个生活都扭转了这个问题,而是从较大的数中减去了较小的数,并在结果前面加上了一个负号。我问过教授,他说他希望问题以书面的方式解决。我不能通过从较大的数字中减去较小的数字并像往常一样否定来解决这个问题。我无法在网上找到任何从较小的无符号二进制数中减去较大的无符号二进制数的示例。
如果有人能向我描述如何在这种情况下执行减法,我将不胜感激。
更新: @Alex 是正确的。教授在找
0110 1100 0111 (1735)
谢谢大家。
【问题讨论】:
-
你确定他不希望
0110 1100 0111带有一些借位和溢出位的指示吗? -
@Beta:不,答案是
-1001 0011 1001(-2361)。他只是在处理普通的二进制数,而不是像 2's-complement 这样的特定计算机表示。 -
我不确定教授是在 -1001 0011 1001(-2361) 还是 0110 1100 0111(1735) 之后,我最终选择了 1735。我认为 @Beta 是对的。当实验室归还时,我会回复他正在寻找的东西。
标签: math binary theory subtraction