所有的数据在java的底层都是以二进制数据的补码形式展示的
原码,反码,补码
表示5和-5:
原码:正数的符号位是0,负数的符号位是1 |
符号位 |
数值位 |
5 |
0 |
0000101 |
-5 |
1 |
0000101 |
反码:正数的反码和原码一至,负数的反码在原码的基础上符号位不变,数值按位取反 |
符号位 |
数值位 |
5 |
0 |
0000101 |
-5 |
1 |
1111010 |
补码:正数的补码和原码一至,负数的补码在反码的基础上+1 |
符号位 |
数值位 |
5 |
0 |
0000101 |
-5 |
1 |
1111011 |