<前提声明:本文里面的图片为自己在CSDN上面的博客盗取的,博客地址为http://blog.csdn.net/liushuijinger/article/details/7429197,但本篇文章是本人亲自所写,若转载,请写明出处,多谢...>
写这篇文章的作用是将 -128 以及补码 的计算写下来,以做日后复习之用.
先上原码、反码、补码的计算方法:
原码:
反码:
补码:
<n为机器字长>
以字长为8时计,即 n == 8
依照我们所学
原码可以表示的范围为 -127 ~ 127 以2进制表示为 1111 1111 ~ 0111 1111
反码可以表示的范围为 -128 ~ 127 以2进制表示为 ~ 0111 1111
很容易看出, -128 无法表示出来,因为在 -127 处已经 是 1111 1111 ,已经全部是1了,那么 -128 是如何得出来的呢?
这就与前面我们所粘贴的图有关
对于纯正数整言, -128的补码等于 2^n + X 即其补码为
2^8 - 128 = 128 = 2^7 即为 1000 0000.
即所得的 -128 的补码为 1000 0000.
此处是对于 当n == 8 时 的讨论, 当n ==16、32、64 时,结果就会发生改变,各位可以遵照前面的计算规则来进行计算.