无符号数、有符号数、原码、反码、补码


无符号数与有符号数:

无符号数:

  正数,它的值就是它的绝对值。10011010---9A  、154

有符号数:(由二进制第一位数决定)

  编码规则与无符号数不同。有符号数最高位是0表示这个数是正数(此时与无符号数的编码规则一样的)。是1表示负数。

比如:  00011010---第一个为0表示这个数为正数,即值为1A;

有符号数的编码规则:

  原码:最高位为符号位,其余各位为数值本身的绝对值

  反码:

    • 正数:反码与原码相同 
    • 负数:符号位为1,其余位对原码取反

  补码:

    • 正数:补码与原码相同
    • 负数:符号位为1,其余位对原码取反加1

 比如:

有符号数 原码 反码 补码 说明
1 00000001 00000001 00000001 正数的原码、反码补码一样
6 00000110 00000110 00000110  
 -1 10000001 11111110 11111111  负数以补码形式保存
-7   10000111 11111000 11111001  

 

 结论:

  正数:以原码形式存储

  负数:以补码形式存储


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM