Java提供了三种移位运算符,即-
二进制左移运算符。左操作数的值向左移动右操作数指定的位数。
二进制右移运算符。左操作数的值向右移动右操作数指定的位数。
右移零填充运算符。左操作数的值向右移动右操作数指定的位数,并且移位后的值用零填充。
public class Test { public static void main(String args[]) { int a = 60;/* 60 = 0011 1100 */ int b = 13;/* 13 = 0000 1101 */ int c = 0; c = a << 2; /* 240 = 1111 0000 */ System.out.println("a << 2 = " + c ); c = a >> 2; /* 15 = 1111 */ System.out.println("a >> 2 = " + c ); c = a >>> 2; /* 15 = 0000 1111 */ System.out.println("a >>> 2 = " + c ); } }
输出结果
a << 2 = 240 a >> 2 = 15 a >>> 2 = 15