美文网首页
原码 反码 补码

原码 反码 补码

作者: OritimaHost | 来源:发表于2015-01-09 17:34 被阅读95次

    题记

    计算机存储数值方式是通过原码,反码,补码来编码的。突然写这个原码 反码 补码 感觉很奇怪。
    由于今天开始补习一下面试的知识,做了一套阿里巴巴的面试题,第一道题就是问关于求-7的补码。查阅资料后,我觉得有必要写下来,以后就不会忘记。

    基础知识


    原码

    原码是计算机和人最容易理解的表达。原码是符号位和真实值的绝对值来表示的。对于一个二进制数来说,原码的第一位是符号位,其余部分位表示是数值。我拿-7的8位二进制举例说:
    -7 的二进制10000111,那么-7的原码就是10000111。

    反码

    • 正数的反码就是其本身
    • 负数的反码就是保持符号位不变,数值位的1变为0,0变为1(1-->0 ,0-->1)
      我还是那7和-7来举例。
      7 的原码是00000111。7的反码就是 00000111
      -7的原码是10000111。-7的反码就是11111000

    补码

    • 正数的补码也是其本身
    • 负数的补码是:在原码的基础上,保持符号位不变,数值位取反再加1。
      7 的补码是00000111,-7的补码是11111001。

    总结


    正数的原码,反码,补码是一样的。
    负数的原码,反码,补码都一样,但是符号位都是一样,反码和补码的区别在于补码在最后一位多加1。

    相关文章

      网友评论

          本文标题:原码 反码 补码

          本文链接:https://www.haomeiwen.com/subject/wcrfxttx.html