移位运算符
-
System.out.println(20 ^ 20);
// 0001 0100
// 0001 0100
//-----------
// 0000 0000 转换为十进制:0 -
System.out.println(20 ^ 20);
// 0001 0100
// 0001 0100
//-----------
// 0001 0100 转换为十进制:20 -
// 0001 0100
// 0101 0000 0000 转换为十进制:1280
System.out.println(20 << 6); -
// -20的原码:1001 0100 | 反码:1110 1011 | 1110 1100
// 右移6位:1111 1111 | 反码:1111 1110 | 原码: 1000 0001 转换为十进制:-1
System.out.println(-20 >> 6); -
// 20的原码:0001 0100
// 0000 0010 转换为十进制:2
System.out.println(20 >> 3); -
// -20的原码:1001 0100 | 反码:1110 1011 | 补码:1110 1100
//1111 1101 | 反码:1111 1100 | 原码:1000 0011 转换为十进制:-3
System.out.println(-20 >> 3); -
// -20的原码:1001 0100 | 反码:1110 1011 | 补码:1110 1100
// 1111 1111 1111 1111 1111 1111 1110 1100
// 0001 1111 1111 1111 1111 1111 1111 1101 转换为十进制:536,870,909
System.out.println(-20 >>> 3);