原码反码补码解析

原码

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

  • 通过一个字节,也就是8个二进制位表示 +7和 -7

  • 0(符号位) 0000111 (+7 正数)

  • 1(符号位) 0000111 (-7 负数)

反码

  • 正数的反码与其源码相同; 负数的反码是对其源码逐位取反,但符号位除外。

补码

  • 正数的补码与其原码相同; 负数的补码是在其反码的末位加1
反码: 补码:
0 0000111 +7(原码) 0 0000111 +7(原码)
0 0000111 +7(反码) 0 0000111 +7(补码)
1 0000111 -7 (原码) 1 1111000 -7(反码)
1 1111000 -7 (反码) 1 1111001 -7(补码)

正数与负数补码相加为0

    0 0000111                                
+    0 1111001                
-----------------------                          
   10 0000000            (1超出八位被砍掉)
-----------------------
    0 0000000

1加1得2由于二进制没有2所以保留0向前进1从左到右计算。

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务