美文网首页
c++ 2、机器数、真值、原码、补码、反码

c++ 2、机器数、真值、原码、补码、反码

作者: 八戒无戒 | 来源:发表于2020-04-25 23:55 被阅读0次

    1、机器数
    任何一个数在计算机中存在形式都是二进制码表示,即 0 和 1 ,比如3在计算机中 存储就为 00000011(一字节占8位二进制数)。机器数带符号,最高位为符号位,0代表+,1代表-,-3的机器数就为 10000011
    2、真值
    带符号位的机器数对应的真正数值称为机器数的真值,比如-3(10000011)的真值为131
    3、原码
    原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值
    +1 的原码就是: 0000 0001
    -1 的原码就是: 1000 0001
    4、反码
    正数的反码就是它本身
    负数的反码等其原码的符号位不变,其余各位取反
    +1 的反码就是:0000 0001
    -1 的反码就是: 1111 1110
    5、补码
    正数的补码就是其本身
    负数的补码等于其原码的符号位不变,其余各位取反,最后+1,即在反码的基础上+1
    +1 的补码就是:0000 0001
    -1 的补码就是: 1111 1111

    
    +1原码:0000 0001
    +1反码:0000 0001         正数反码等于原码
    +1补码:0000 0001        正数补码等于原码
    -1原码:1000 0001        
    -1反码:1111 1110        符号位不变,其余位取反
    -1补码:1111 1111        符号位不变,其余位取反,最后+1
    
    

    相关文章

      网友评论

          本文标题:c++ 2、机器数、真值、原码、补码、反码

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