java的左移右移 - kylodw/android_knowledge GitHub Wiki
java中有三种移位运算符
<<
: 左移运算符,num << 1,相当于num乘以2
>>
: 右移运算符,num >> 1,相当于num除以2
>>>
: 无符号右移,忽略符号位,空位都以0补齐
private static void binary() {
int number = 10;
System.out.println("原始数据二进制:" + Integer.toBinaryString(number));
System.out.println("原始数据二进制左移:" + Integer.toBinaryString(number << 1));
System.out.println("原始数据左移" + (number << 1));
System.out.println("原始数据二进制右移:" + Integer.toBinaryString(number >> 1));
System.out.println("原始数据右移" + (number >> 1));
System.out.println("原始数据二进制无符号右移" + Integer.toBinaryString(number >>> 1));
System.out.println("原始数据无符号右移" + (number >>> 1));
}
输出
原始数据二进制:1010
原始数据二进制左移:10100
原始数据左移20
原始数据二进制右移:101
原始数据右移5
原始数据二进制无符号右移101
原始数据无符号右移5