按位运算符
按位运算符是两个独立的比特数,用AND/OR去决定位和位的结果。有3个按位运算符:
& AND
| 包括OR
^ 除去OR
&比较相应的比特在两个数或比较两个布尔值,将它们用比特对待。若果两个比特是1,最后的比特值也是1.如果只有一个是1,结果是0.再次,对比特操作符,我们必须将数值转换成比特表示。如表:
X Y & (AND) | (OR) ^ (XOR)
0 0 0 0 0
0 1 0 1 1
1 0 0 1 1
1 1 1 1 0
比较10和9两个数值
1010 & 1001 = 1000
得到的结果是8
class Bitwise {
public static void main(String [] args) {
int x = 10 & 9; // 1010 and 1001
System.out.println(”1010 & 1001 = ” + x);
}
}
运行结果
c:\Java Projects\Bitwise>java Bitwise
1010 & 1001 = 8
| OR操作符合& AND操作符不同;当比较相应的比特,如果有一个是,结果是1,反之亦然。如
010 | 1001 = 1011
得到结果11
class Bitwise {
public static void main(String [] args) {
int x = 10 | 9; // 1010 and 1001
System.out.println(”1010 & 1001 = ” + x);
}
}
C:\Java Projects\BookTest>java Bitwise
1010 & 1001 = 11
^操作符是寻找两个比特值看它们是否不同,如果不同,则为1.如果相同,则为0
10和5比较结果
1010 ^ 0101 = 1111
结果为15
1000 ^ 1101 = 0101
结果是5
