首页 > 编程知识 正文

原码反码补码移码,127的原码反码补码

时间:2023-05-05 08:26:28 阅读:223919 作者:2890

1 原码
就是该数字不进行其他操作时数字最原始的二进制表示,在Java中我们有熟悉的byte,short,int,long的整数型基本数据类型以及float,double的浮点型基本数据类型。
在Java中,对于整数而言,其原码格式为最高位为符号位,该位上1表示负数而0表示正数,剩余位数为该数字的二进制表示。在这里我们简单用int型的整数5及-5看下例子:
5的原码:00000000 00000000 00000000 00000101
-5的原码:10000000 00000000 00000000 00000101
因此,对于原码来说,绝对值相等的正数和负数只有符号位不同。
所以,简单的来说,原码就是整数在不进行操作时,以二进制形式存在显示
反码
对于正数来说,它的反码就是它的原码 ,原码等于反码:比如
5的原码:00000000 00000000 00000000 00000101
5的反码:00000000 00000000 00000000 00000101

对于负数来说,简单的理解,就是将正数的原码第一个字符0变化为1,就成了这个正数的负数原码,然后将这个负数的原码除了第一字符外,剩下的其他字符位全部变化为和原码相反的1
例如:
5的原码:00000000 00000000 00000000 00000101
-5的原码:10000000 00000000 00000000 00000101
-5的反码:11111111 11111111 11111111 11111010
补码
对于正数来说,正数的补码就是它的原码

对于负数来说,负数的补码就是在这个负数的反码基础上加1
例如:
-5的反码:11111111 11111111 11111111 11111010
-5的补码:11111111 11111111 11111111 11111011

正数原码,反码,补码之间的转化:
2的原码:00000000 00000000 00000000 00000010
2的反码:00000000 00000000 00000000 00000010 —原码等于反码
2的补码:00000000 00000000 00000000 0000001 —反码加1就是补码
负数的原码,反码,补码之间的转化
-2的原码:10000000 00000000 00000000 00000010
-2的反码:111111111 111111111 111111111 111111101
-2的补码:111111111 111111111 111111111 111111110

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