【问题标题】:Binary Arithmetic using sign magnitude and two's complement使用符号幅度和二进制补码的二进制算术
【发布时间】:2015-11-28 01:56:45
【问题描述】:

我正在复习一周后的考试。我有一个我已经回答的示例问题,但我不确定它是否正确。有人可以为我验证我的答案,如果不正确,请解释 iv 哪里出错了。

这是一个问题: 考虑符号幅度符号中的两个二进制变量:A = 011111 和 B = 000001。显示所有涉及的步骤,以二进制格式执行以下操作(即,不要从二进制转换为另一个基数以获得结果)。假设您只有六位可用于答案。

A-B 使用二进制补码。

这是我的回答: 在 B 上使用二进制补码 B = 000001 翻转并添加 1

 111110
+000001
 --------
 111111 

然后是 A + 补码 B

 011111
+111111
-------
 011110

最终答案:011110

【问题讨论】:

    标签: binary signed subtraction twos-complement complement


    【解决方案1】:

    使用 2 的补码进行减法:-

    二进制减法可以通过添加 2 的补码来执行 被减数的减数。 (在这种情况下,a-b 中的被减数是 a,减数是 b)

    1. 如果产生最终进位,则丢弃进位,并由剩余位给出答案,即为正数(被减数更大 比减数)。

    2. 如果最后进位为 0,则答案是否定的(被减数小于减数)并且是 2 的补码形式。

    现在,B 的 2 补码 = 111110 + 1 = 111111。

    接下来,A + B 的 2 的补码 = 011111 + 111111 = 1011110。

    如您所见,总和是 7 位,我们有 1 作为最终进位,因此根据规则 1,我们需要丢弃进位。

    所以,最终答案 = 011110。

    您的答案与此答案相符,因此,您的答案是正确的。

    【讨论】:

    • 感谢您为我验证这一点
    • @Volken - 不客气,亲爱的。如果您有任何其他疑问,请随时提出。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-18
    • 2020-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-05
    • 1970-01-01
    相关资源
    最近更新 更多