您可以翻转比特并添加1,或者添加1,然后翻转比特。
在二的补码中,你可以先加1然后翻转比特,还是只能翻转比特然后再加1?还是我把它弄混了?
发布于 2014-09-22 06:20:07
这两种方法不会产生相同的结果。
以00000000
为例。如果你先翻转这些位,你会得到00000000
,这是合理的。
然而,如果你先加1,你会得到11111110
,这显然不是。
发布于 2014-09-22 06:24:40
不,你不能。取二进制数10
。如果你加1,你得到的是11
,它的补码是00
。
如果你先计算一的补码,你得到的是01
,当你加一的时候,它是10
,这与00
不同。
https://stackoverflow.com/questions/25967600
复制相似问题