【注】位运算符指的是二进制上的运算
左移一位相当于 乘2
//1、 2的平方 int a=1<<2; //相当于1*2*2 //2、 2的三次方 int b=1<<3; //相当于1*2*2*2 //3、其他 int c=2<<2; //相当于2*2*2 //4、其他 int d=5<<3; //相当于 5*2*2*2;右移一位相当于 除以2
int a=16>>2; //相当于16/2/2=4;雷区: 1、& 和 | 既是逻辑运算符也是位运算符,当两侧操作数都是boolean类型时,做为逻辑运算符;当两侧都是整数类型时,作为算数运算符; 2、不要把 ^ 当成数学运算”乘方“,是”位的异或”操作。
