如何理解(先减1后取反和先取反后加1得到的结果是一样的,故仍可采用取反加1的方法,即对于机器数为负数,则有[X]原=[[X]补]补。)

对二进制数来说,先减1后取反和先取反后加1得到的结果是一样的,故仍可采用取反加1的方法,即对于机器数为负数,则有[X]原=[[X]补]补。 当然你也可以用先减1后取反的方法来求补码对应的原码。



对于求负数的补码求原码:按照求补码逆运算 为(-1) + (取反)
同时补码的理论依据负数的原码就是负数的补码=(取反)+(1)
【如何理解(先减1后取反和先取反后加1得到的结果是一样的,故仍可采用取反加1的方法,即对于机器数为负数,则有[X]原=[[X]补]补。)】所以
(-1) + (取反)= (取反)+(1)

之所以强调
[X]原=[[X]补]补
是强调补码运算器可以在求补码的反码的过程中可以重用(对付正数-负数的情况),重用无论在编码还是社会建设都是一个高效科学的原则。

    推荐阅读