java左右移位运算示例
左移位运算示例:
int x = 5; //二进制表示为 00000101
int y = x << 2; //左移两位,得到 00010100,即十进制的20
System.out.println(y); //输出20
右移位运算示例:
int x = 20; //二进制表示为 00010100
int y = x >> 2; //右移两位,得到 00000101,即十进制的5
System.out.println(y); //输出5
需要注意的是,对于带符号右移位运算,如果原数是正数,则在右移位后高位补0,否则在高位补1。而对于无符号右移位运算,则在高位补0。例如:
int x = -5; //二进制表示为 11111011
int y = x >> 2; //带符号右移两位,得到 11111110,即十进制的-2
System.out.println(y); //输出-2
int z = x >>> 2; //无符号右移两位,得到 00111110,即十进制的62
System.out.println(z); //输出62
``
原文地址: https://www.cveoy.top/t/topic/dnQb 著作权归作者所有。请勿转载和采集!