首页 > 编程知识 正文

小数的二进制原码反码补码,二进制的原码补码反码关系

时间:2023-05-03 11:57:33 阅读:245053 作者:1786

首先简单介绍一下原码、补码、反码(皆由0、1组成,最高位是符号位,0表示正,1表示负),所谓的这三种码,都是在机器中用来表示数的(具体细节以后想得起来再补充):

原码:
在二进制的基础上在最高位添加符号位,如:5(10)=101(2),-5(10)=1101(2)

反码:
正数的反码与原码相同,负数的反码除符号位外逐位取反,如:原码10010(这是负数)= 反码11101

补码:
正数的补码与原码相同,负数的补码除符号位外逐位取反,然后末位加一,如:原码10010(这是负数)= 反码11101=补码11110

例如:
-1
1、原码:10000000 00000000 00000000 00000001
2、反码:11111111 11111111 11111111 11111110
3、补码:11111111 11111111 11111111 11111111

java中的二进制用补码表示,int是32位的,32位每位都要占据,所以没有意义的0也会在变换的时候被改变。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。