int a=5,b=6;
5=(二进制)00000000000000000000000000000101
6=(二进制)00000000000000000000000000000110
&--按位与 :对照二进制位进行按位与,也就是只要对应位中有都有1才是1;
a&b=4
a 00000000000000000000000000000101
b 00000000000000000000000000000110
& 00000000000000000000000000000100
|--按位或:对应二进制位进行按位与,有1则为1.
a|b=7
a 00000000000000000000000000000101
b 00000000000000000000000000000110
| 00000000000000000000000000000111
^--按位异或:对应二进制位进行按位异或,相同则为零。
a^b=3
a 00000000000000000000000000000101
b 00000000000000000000000000000110
^ 00000000000000000000000000000011
注意:操作数都应该是整数
使用例子:
位操作符可以实现不借助中间变量来将两个变量值互换
a=a^b; b=a^b; a=a^b;