Android 位运算
0000 = 0 0001=1 0010=2 0011 = 3 0100 = 4 0101 = 5 0110 = 6 0111 = 7
1、& 与运算 &为运算符
// 1、&(与运算) 与运算规则:两个数的二进制同为1,结果才为1,否则为0 同真则为真
System.out.println(5&3); //执行结果=1 自己按位与运算结果: 0101 & 0011 = 1 化为二进制之后同真为真
2、|(或运算) | 为运算符
//2、|(或运算)按位或运算符 加运算的两个数,按二进制位进行或运算 化为二进制后有真则为真
System.out.println(5|3); 执行结果=7 自己算这么算 //0101 | 0011 = 0111 =7 化为二进制后有真则为真
3、^(异或运算) ^ 为运算符
//3、^(异或运算) 异或运算符(^) 参加运算的两个数,按二进制位进行异或运算 有真有假 则为1 即同位值不同 则为1 同位相同则为0
System.out.println(5^3); //执行结果6: 自己算这么算 0101 ^ 0011 = 0110 = 6
具体执行
public class App {
public static void main(String[] args) throws Exception {
// 0000 = 0 0001=1 0010=2 0011 = 3 0100 = 4 0101 = 5 0110 = 6 0111 = 7 1000 = 8 1001 = 9 1010 = 10 1011 = 11
// 1、&(与运算) 与运算规则:两个数的二进制同为1,结果才为1,否则为0 同真则为真
System.out.println(5&3); //按位与运算 0101 & 0011 = 1 化为二进制之后同真为真
//2、|(或运算)按位或运算符 加运算的两个数,按二进制位进行或运算
System.out.println(5|3); //0101 | 0011 = 0111 化为二进制后有真则为真
//3、^(异或运算) 异或运算符(^) 参加运算的两个数,按二进制位进行异或运算 有真有假 则为1 即同位值不同 则为1 同位相同则为0
System.out.println(5^3); // 0101 ^ 0011 = 0110 = 6
}
}