棘手的二元减法

时间:2012-11-22 21:30:44

标签: math binary

所以我练习二元减法。从我的第一次考试开始已经有很长一段时间了,我决定创建自己棘手的二元减法,然后我想出了这个:

 1100
-1101

当然,“借用技巧”对这个问题不起作用,至少我无法让它发挥作用。我唯一的选择是翻转第二个二进制数字的位(底部的一个),然后添加一个基本上做2的补码,这样1101就变成了0011.然后用2的补码表示法(0011)添加主二进制数(1100)。意味着它看起来像这样:

    1100 (-4) assume 2's complement
+   0011 (3)  assume 2's complement

sum:1111 (-1) assume 2's complement

我只需要确认这个问题,因为我做了二进制减法已经很久了。

1 个答案:

答案 0 :(得分:3)

 1100
-1101

0 - 1 = 1(借1)

 1100
-1101
   1
=====
    1

0 - 0 - 1 = 1(借1)

 1100
-1101
  11
=====
   11

1 - 1 - 1 = 1(借1)

 1100
-1101
 111
=====
  111

1 - 1 - 1 = 1(借1)

 1100
-1101
1111
=====
 1111

结果是1111借了1。就无符号算术而言,这意味着结果下溢或您需要从下一个有效数字借用。 (就有符号算术而言,没有溢出,因为你还借了第二位,计算对应-4 - -3 = -1。)