二进制减法:2的补码&携带

时间:2012-10-01 05:19:31

标签: binary addition operation

我想将1减去二进制表示1010 1101中的数字。我写的是1:1111 1111的两个补码,我和第一个数字相加:

按位添加,带进位,给出1 1010 1100:由于进位,我最终得到1位。如何处理二进制加法?

另外,我正在使用两个补码来做加法吗?

感谢。

1 个答案:

答案 0 :(得分:2)

这是一种完全有效且常用的减法方法,但'进位'标志并不意味着它与正常加法相同。由于不是减去n,而是添加一个大数字,因此需要以不同方式处理进位标记。额外的1通常表示按位添加的进位,而这里它表示一切正常。如果那里没有进位,则实际上意味着结果应为负数 - a - b已转换为a + 2^n - b,小于2^n,这意味着b > a所以a - b < 0。无论哪种方式,都无关紧要,因为您的结果将在结果的8位内正确显示。