我正在参加计算机组织和汇编语言课程。本周我们实验室的书面部分有一个问题让我难住。这个问题读取...从较小的一个中减去一个大的无符号二进制数
减去以下无符号二进制数(显示借位和溢出位)。不要转换为二进制补码。
0101 0111 1101
-1110 1011 0110
--------------
我知道答案是-1001 0011 1001,但我有一个困难时期试图采取更大的数量,并从减去弄清楚如何借用实际执行这个减法更小的数字,并显示我的工作。我的整个生活当从一个小数中减去一个大数时,我已经改变了这个问题,而是从较大的数中减去了较小的数,并在结果前加上了一个负号。我问教授,他说他希望问题能够解决问题。我不能通过从较大的数字中减去较小的数字来解决这个问题,并像我通常那样否定。我在网上找不到任何从较小的一个中减去较大的无符号二进制数的例子。
我真的很感激,如果有人可以向我描述如何在这种情况下执行减法。
更新: @Alex是正确的。教授正在寻找
0110 1100 0111 (1735)
谢谢大家。
你确定他不想让'0110 1100 0111'指示一些借位和一个溢出位吗? – Beta 2012-03-01 22:42:11
@贝塔:不,答案是'-1001 0011 1001'(-2361)。他只是使用普通的二进制数字,而不是像2'-complement那样的特定计算机表示。 – 2012-03-02 17:36:43
我不确定教授是否在-1001 0011 1001(-2361)或0110 1100 0111(1735)之后,我最终以1735结束。我认为@Beta是对的。当实验室交还给他时,我会回复他正在寻找的内容。 – 2012-03-02 17:51:35