看明白了吧,我是不是太罗嗦了点~~~
&是JAVA中的位逻辑运算符,称“按位与”,运算规则是:“&”两个运算数都为1时,结果为1,其余结果为0 ,即:即:0&0=0,0&1=0,1&0=0,1&1=1
用途:
(1)清零
运算对象:原来的数中为1的位,新数中相应位为0。
(2)取一个数中某些指定位。
如想要取一个整数a(占2个字节)的低(高)字节,只需将a与八进制的377(177400)按位与即可。
(3)保留某一个数的某一位。
与一个数进行&运算,此数在该位取1。
例如:9&5可写算式如下: 00001001 (9的二进制补码)&00000101 (5的二进制补码) 00000001 (1的二进制补码)可见9&5=1。
按位与运算通常用来对某些位清0或保留某些位。例如把a 的高八位清 0 , 保留低八位, 可作 a&255 运算 ( 255 的二进制数为0000000011111111)。
按位与 &按位或 |
转为二进制操作即可
&: 两位同时为“1”,结果才为“1”,否则为0
|:参加运算的两个对象只要有一个为1,其值为1。
按位与:
5: 0000 0101
9: 0000 1001
1: 0000 0001
按位或:
5: 0000 0101
9: 0000 1001
13: 0000 1101