+ -
当前位置:首页 → 问答吧 → 为什么 补码的补码是原码??

为什么 补码的补码是原码??

时间:2011-01-20

来源:互联网

为什么 补码的补码是原码??

  请解释详细 明了??

作者: cvrli   发布时间: 2011-01-20

用代数带入法:

原码 = 01
补码 = 10 + 1 = 11
补码的补码 = 11的补码 = 00 + 1 = 01

补码的补码 = 原码

作者: renxu350   发布时间: 2011-01-20

这句话严格地讲是有点问题的。

这里所说的“补码”实际上是“求补”---即“取相反数”的意思,“原码”则指它的绝对值了。

所以一个正数(比如是n)的“补码”是指用按位取反再加1的运算得到的数,其实就是它的相反数(-n)。这个(-n)的“补码”指再按位取反再加1,得到了(-n)的相反数,这便又是n了。

作者: shzhfu   发布时间: 2011-01-20

用代数带入消元法:

假设:

原码 = 01

因为:

补码 = 反码 + 1 = 10 + 1 = 11
补码的补码 = 11的补码 = 11的反码 + 1 = 00 + 1 = 01

所以:

补码的补码 = 原码

作者: renxu350   发布时间: 2011-01-20

为什么 -128=10000000 如何算  

在计算机真实运算
不要 讲取反加以模式

作者: cvrli   发布时间: 2011-01-20

好好看数电

作者: linux_Mary_me   发布时间: 2011-01-20

引用 4 楼 cvrli 的回复:
为什么 -128=10000000 如何算

在计算机真实运算
不要 讲取反加以模式


这个问题要这样看:10000000B最高位是1表示负数,它加上01111111B(即127)后得11111111B,再加1就成了00000000B,所以原来的那个数等于0-1-127=-128

作者: shzhfu   发布时间: 2011-01-20