<<和>>运算结论:
<<运算是二进制左移一位二进制后面多一个0。
运算是二进制右移一位等于舍去最后一位二进制数。
下面是java测试代码:
public class Test {
public static void main(String[] args) {
int number = 7;
// 原始数二进制
String str = "原始数二进制: ";
printInfo(str,number);
leftMove(number);
rightMove(number);
}
private static void leftMove(int number) {
String str = "左移一位: ";
number = number << 1;
// 左移一位
printInfo(str,number);
}
private static void rightMove(int number) {
String str = "右移一位: ";
number = number >> 1;
// 右移一位
printInfo(str,number);
}
/**
* 输出一个int的二进制数
*
* @param num
*/
private static void printInfo(String str,int num) {
System.out.println(str+Integer.toBinaryString(num));
}
}
输出:
原始数二进制: 111
左移一位: 1110
右移一位: 11