美文网首页
1.3原码/反码/补码

1.3原码/反码/补码

作者: 指向远方的灯塔 | 来源:发表于2020-03-09 14:59 被阅读0次
    • 数据存储:计算机储存数据,先开辟内存空间,再存储数据,计算机开辟内存的最小单位是字节,二进制;
    • 原码/反码/补码是计算机运算的基础,在计算机中,数值的运算是基于二进制,而数值有正数和负数
    1.1 原码

    二进制的定点表示法,即最高位为符号位,“0”:表示正数,“1”:表示负数,其余位表示数值的大小;

    例如:通过一个字节-----8位  二进制表示+10  -10
    0000 1010   -----> +10
    1000 1010   ----->  -10
    
    1.2 反码

    正数的反码与原码相同,负数的反码是对其原码逐位取反(0变为1,1变为0),符号位除外。

    +10      0000 1010
    -10       1000 1010  --->反码   1111   0101
    
    1.3 补码

    正数的补码和原码相同,负数的补码是在反码的末尾加1

    +10   0000    1010
    -10    原码  1000   1010
             反码   1111    0101
                                        1
    ----------------------------------------
             补码   1111    0110
    

    【注意:计算机中所有的数据都是以补码的形式存在】

    思考:在计算机中,为什么不用原码和反码,而用补码?
    以10 - 10 = 0为例(计算机以10 + (-10)进行计算)
    1.使用原码计算10-10
    +10: 0000   1010
    -10: 1000    1010
    ---------------------------
               1001    0100 ------> -20
    
    2.使用反码计算10-10:
    +10:   0000    1010
    -10:    1111     0101
    ---------------------------------
               1111    1111(反码)------->原码:1000 0000 -----> -0
    
    3.使用补码计算10-10:
    +10:   0000       1010
    -10:     1111       0110
    -----------------------------
               0000      0000  ------> 0
    

    【在计算机中存储数据的形式是补码,要想让人看懂需要将其转换为原码】

    相关文章

      网友评论

          本文标题:1.3原码/反码/补码

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