今天遇到了运算符运算,居然忘了这几个运算符是怎么运算的了
&:是按位 与
| :是按位或
^:是按位抑或
举例子说明:int a = 3; int b = 5;
3 的 二进制是 :0011
5 的 二进制是:0101
a & b 结果为:0011
0101
0001 为 1。
(与就是,位上两个1相与,相同位结果也是1)
a | b 结果为:0011
0101
0111 为 7
(或就是,位上有1做运算,相同位结果就是1)
a ^ b 结果为:0011
0101
0110 结果为 6
(抑或,两个二进制位相同结果为0,否则为1)
总结:
|:两个二进制对应位都为0时,结果等于0,否则结果等于1;
&:两个二进制的对应位都为1时,结果为1,否则结果等于0;
^:两个二进制的对应位相同,结果为0,否则结果为1。