用N位表示的数字的2的补数是2^N数。例如:如果number是7(0111)并且我用4位表示它,那么它的2的补码将是(2^N-number),即(2^4 -7)= 9(1001)
为什么我们在做2的补码时需要加1
7==> 0111
1's compliment of 7==> 1000
1000
+ 1
-------------
1001 =====> (9)
在计算2的一些补充,我们做以下步骤:1。 做数量的补 2.添加一个步骤1的结果
我明白,我们需要因为我们正在进行否定操作,所以要补数。但为什么我们添加1?
这可能是一个愚蠢的问题,但我很难理解逻辑。用上面的例子来解释(对于数字7),我们做补码并得到-7,然后加+1,所以-7 + 1 = -6,但仍然得到正确的答案,即+9