Java负数的位运算
/**
* 求负数的位运算
*/
//1. -10 >> 2 = ?
//2. -10的原码: 1000 0000 0000 0000 0000 0000 0000 1010 最高位代表符号位
//3. -10的反码: 1111 1111 1111 1111 1111 1111 1111 0101 符号为不变,其他位相反
//4. -10的补码:1111 1111 1111 1111 1111 1111 1111 0110 补码为反码加1
//5. 补码右移2为:1111 1111 1111 1111 1111 1111 1111 1101
//6. 补码取反为: 1000 0000 0000 0000 0000 0000 0000 0010
//7再加一得原码: 1000 0000 0000 0000 0000 0000 0000 0011 -3
System.out.println(-10 >> 2);
-3