首页 文章

使用二进制补码进行二进制减法

提问于
浏览
1

我试图用二进制形式的二进制补码来解决以下问题 .

7.5 - 6.75

7.5 - 6.75可以改写为(7.5)( - 6.75)

取二进制十进制数

7.5 = 111.1

6.75 = 110.11

-6.75 = 001.00

现在我应该在“ . ”(句号)的左侧或右侧添加1?

1 回答

  • 1

    要使用2的补码执行带符号数(M - N)的减法,请执行以下操作:

    • M和N的位数应相同 .

    • 获得N的2的补码(包括符号位) .

    • 将N的2的补码添加到M(包括符号位) .

    • 如果总和产生最终结转 . 丢弃最后一次携带 . 在丢弃结束进位之后,最左边的位是符号位 .

    • 如果符号位为0,则结果为正,

    • 如果符号位为1,则结果为负 .

    • 如果求和不产生最终进位,则最左边的位是符号位 .

    产生2的赞美:

    The 2’s complement of the subtrahend 10001 = 01111
    
    1 1 1 1 carry bits
    1 0 0 1 1
    + 0 1 1 1 1
    1 0 0 0 1 0
    Since the summation produces an end carry the result is positive.
    Discard the end carry; the result is a positive number.
    

相关问题