首页 > 其他 > 详细

原码反码补码

时间:2020-06-30 09:07:54      阅读:66      评论:0      收藏:0      [点我收藏+]

 

1.计算机在任何情况下都只能识别二进制

2.计算机在底层存储数据的时候,一律存储的是“二进制的补码形式”,原因是:补码形式效率高

3.二进制有:原码、反码、补码

4.对于一个正数来说:二进制原码、反码、补码都是同一个,完全相同。

  如 int i=4;

  对应的原、反、补码都是:00000000 00000000 00000000 00000100

5.对于一个负数来说,原码、反码、补码的关系为:

  负数的反码是在其原码的基础上, 符号位不变,其余各个位取反;负数的补码是其反码再加1--(由补码可以推导出原码,负数的补码减1得出反码,再反码的符号位不变,其余位取反就能得出原码)

  如 byte i=-5; (二进制的最高位是符号位:0表示正数,1表示负数)

  对应的原码:10000101

  对应的反码:11111010

  对应的补码:11111011

 

示例:byte a=-5; byte b=4这两个相加应为-1,下面来从二进制的原码、反码、补码来解释一下

byte a=-5 对应的补码为:111110111

byte b=4 对应的补码为: 00000100

上面两个补码相加为:    111111111 由这个负数补码推导出反码为:11111110,再推导出原码为:10000001 所以结果为:-1

 

原码反码补码

原文:https://www.cnblogs.com/wx1995/p/13211211.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!