位运算符:
概念:
位运算符指的是二进制位的运算,先将十进制数转成二进制后再进行运算。 在二进制位运算中,1表示true,0表示false。
<<有符号左移运算:
,二进制位向左移动, 左边符号位丢弃, 右边补齐0
运算规律: 向左移动几位, 就是乘以2的几次幂
>> 有符号右移运算:
,二进制位向右移动, 使用符号位进行补位
运算规律: 向右移动几位, 就是除以2的几次幂
>>> 无符号右移运算符
: 无论符号位是0还是1,都补0
^异或:
一个数, 被另外一个数, 异或两次, 该数本身不变
System.out.println(12 << 1);//24 System.out.println(12 << 2);//48 System.out.println(12 >> 1);//6System.out.println(12 >> 2);//3System.out.println(12 >>> 1);//6System.out.println(12 >>> 2);//3