我正在修改我几周后的考试。我有一个例子问题我已经回答但我不确定它是否正确。有人可以请我验证我的答案,并解释如果不正确,我会在哪里出错。
以下是问题: 考虑符号幅度表示法中的两个二进制变量:A = 011111和B = 000001.显示所涉及的所有步骤,以二进制格式执行以下操作(即,不从二进制转换为另一个基数以获得结果)。假设您只有六位可用于答案。
A-B使用两个补码。
这是我的答案: 在B上使用两个补码 B = 000001 翻转并添加1
111110
+000001
--------
111111
然后是A + 2的补充B
011111
+111111
-------
011110
最终答案:011110
答案 0 :(得分:1)
使用2'补语减法: -
可以通过添加2的补码来执行二进制减法 对减数的减数。 (
a-b
中的minuend为a,在这种情况下,减数为b)
如果产生了最后一个进位,则丢弃进位,并通过剩余的位给出答案,这是正数(minuend更大) 而不是减数)。
- 醇>
如果最后一个进位为0,则答案是否定的(minuend小于减数)并且是2的补码形式。
现在,B = 111110 + 1 = 111111的2的补码。
接下来,A + 2的补充B = 011111 + 111111 = 1011110。
正如你所看到的,总和是7位,我们有1作为最终进位,所以根据规则1,我们需要丢弃进位。
所以,最终答案= 011110。
您的回答符合此答案,因此,您的回答是正确的。