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