所以我练习二元减法。从我的第一次考试开始已经有很长一段时间了,我决定创建自己棘手的二元减法,然后我想出了这个:
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
我只需要确认这个问题,因为我做了二进制减法已经很久了。
答案 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
。)