位运算之原码、反码、补码
**我个人把原码、反码、补码理解为一种规则,并没有深入探讨原理,这篇文章作为记录笔记**
//负数的原码,反码,补码是不一样的
//正数的原码,反码,补码都是一样的
public class Test2 {
//原码? 补码? 反码?
public static void main(String[] args) {
//原码 : 符号位 + 数值位
//反码 : 反码就是除了符号位不变,其他位0变1,1变0
//补码 : 补码就是在反码的基础上 +1
int i = 0b00000000000000000000000000000111; //7
System.out.println(i);
//原码:0b10000000000000000000000000000111
//反码:0b10000000000000000000000000000111
//补码:0b10000000000000000000000000000111
//计算机中进行符号数的时候是按照补码方式存进去的
int j = 0b11111111111111111111111111111001; //-7
//原码:0b00000000000000000000000000000111
//反码:0b01111111111111111111111111111000
//补码:0b01111111111111111111111111111001
System.out.println(j);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/202573.html