/*
* <<:左移 左边最高位丢弃,右边补齐0
* >>:右移 最高位是0,左边补齐0,;最高位是1,左边补齐1
* >>>:无符号右移 无论最高位是0还是1,左边补齐0
*
*/
public class Demo4 {
public static void main(String[] args) {
//<<把<<左边的数据乘以2的移动数的次幂
System.out.println(3<<2);//3*2^2 = 12
//<<把<<左边的数据除以2的移动数的次幂
System.out.println(12>>2);//12/2^2 = 3
System.out.println(-24>>>2); //1073741818
}
}
/* >>>的计算
* 计算出24的二进制:11000
* 原码:10000000 00000000 00000000 00011000
* 反码:11111111 11111111 11111111 11100111
* 补码:11111111 11111111 11111111 11101000
*
* 11111111 11111111 11111111 11101000
* 0011111111 11111111 11111111 111010(00)
*
* 结果为:1073741818
*
*
*/