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

来源:互联网 发布:java工资扣培训费 编辑:程序博客网 时间:2024/04/30 11:51

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

 

 

 

对于求负数的补码求原码:按照求补码逆运算 为(-1) + (取反) 

同时补码的理论依据  负数的原码就是负数的补码=(取反)+(1)

所以

(-1) + (取反)  = (取反)+(1)

 

之所以强调

[X]原=[[X]补]补

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

原创粉丝点击