位运算符
任何信息在计算机中都是以二进制的形式保存的,&、|、^除了可以作为逻辑运算符,也可以做为位算符。
它们对两个操作数中的每一个二进制位都进行运算,0当做false,1当做true。
& 将两个二进制数每一位进行与运算,两边都为1结果才为1,只要有一边是0,结果就为0。
| 将两个二进制数每一位进行或运算,两边都为0结果才为0,只要有一边是1,结果就为1。
^ 将两个二进制数每一位进行异或运算,只要两边不同结果就为1,相同则为0。
我们可以对数据按二进制位进行移位操作,java的移位运算符有三种:
<< 左移 将二进制的每一位向左移,低位补0。左移几位就相当于乘以2的几次方。
>> 右移 将二进制的每一位向右移,原来高位是0就补0,原来高位是1就补1。右移几位就相当于除以2的几次方。
>>> 无无符号右移 将二进制的每一位向右移,高位补0。正数移动没区别,负数移动后变为正数。
|
|