C语言位运算

~取反,0取反是1,1取反是0

<<是左移,比如1<<n,表示1往左移n位,即数值大小2的n次方

>>右移,类似左移,数值大小除以2的n次方

&按位与,1与任意数等于任意数本身,0与任意数等于0,即1&x=x,0&x=0

|按位或,x|y中只要有一个1则结果为1

^按位异或,x^y相等则为0,不等则为1

所有数值必须转换为二进制数才能位运算,每一位数相对应运算