【问题标题】:using 2's complement to perform binary division for signed number使用 2 的补码对有符号数执行二进制除法
【发布时间】:2016-01-27 14:49:21
【问题描述】:

首先这不是this one 的重复问题,因为这部分已经没有答案了。

当我搜索了许多资源时,我并没有清楚地知道如何使用 2 的补码来执行有符号数除法,特别是在除数或被除数之一或两者都是负数的情况下。

我在第 2 章中引用了来自 Digital Fundamentals By:Floyed 的有符号数除法的一部分,即使通过互联网资源,所有示例和问题都仅解释正数除法,如下所述:

,但是如果是 100/-25 或 -100/25 或 -100/-25,要遵循什么规则。

任何人都可以简单解释一下如何将 14 除以 -7。

【问题讨论】:

  • 您误解了说明,它清楚地说明了任何符号组合。只需按照您发布的说明进行操作即可。
  • 是真正的未补形式表示正数形式
  • 在第一张图片中,给出了除法时,两个数必须为非补数形式。所以,在二进制中,14 是1110,7 是0111。如果你进行除法,你将得到 10,即 2。接下来,我们必须确定商的符号是什么。这里除数和被除数的符号不同。因此,商将为负 2。因此,我们将对 2 执行二进制补码,我们将得到 1110,即 -2。所以,最终的答案是-2。

标签: binary division twos-complement digital-logic


【解决方案1】:

规则规定,如果数字具有不同的符号位,则商和余数除以(这是在两者都变为正数之后)将为负数。因此,对于 14/-7,它们将具有不同的转换为二进制时的符号位,因此这意味着您的商和余数将为负数。现在您将 14 保留为正数并将 -7 转为对应的正二进制数,并使用两个数的正数进行除法,当您从两个数的正数除法中得到商和余数时,您将两者都变成商其余为负数。

【讨论】:

    猜你喜欢
    • 2012-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多