- 二进制:以 0b 或 0B开头
int n1 = 0b1010;
- 十六进制:以 0x 或 0X 开头表示
4.2.原码、反码、补码使用方法int n2 = 0x10101
- 二进制的最高位是符号位:0表示正数,1表示负数。
- 正数的原码,反码,补码都一样
- 负数的反码 = 它的原码符号位不变,其它位取反
- 负数的补码 = 它的反码 + 1,负数的反码 = 负数的补码 - 1
- 0 的反码、补码都是0
- java没有无符号数,换言之,java中的数都是有符号的
- 在计算机运算的时候,都是以补码的方式来运算的
- 当我们看运算结果的时候,要看他的原码
位运算示范:先转换为二进制补码进行位运算,最后结果要转换为原码
4.3.>>、<< 和 >>> 运算规则
- 算数右移 >> :低位溢出,符号位不变,并用符号位补溢出的高位(注意负数的补码转换)
- 算数左移 << :符号位不变,低位补0
- >>> 逻辑右移也叫无符号右移,运算规则是:低位溢出,高位补0
- 特别说明:没有 <<< 符号



