这几天看算法变成位运算由于不常用一下有点蒙,应该有人跟我一样吧.
这次我简单收集了几个说明了一下,希望大家都补充

所谓的位运算都是对二进制的操作
&,如果是两个大家很熟悉, "&&"是"与",一个也是
不过是两个二进制码的"与" , 两个都是"1" 才会得"1"
00001001
&
00000101
=
00000001


其他的也都是  "||"是"或", 两个只要有一个是"1" 就会得"1"
00001001
|
00000101
=
00001101
下边这个就不常用了,"^" 两个都是"1"得"0",由一个是"1"就得"1"
00001001
^
00000101
=
00001100


>>  <<  是 位移
数字转换成二进制后向左向右移动多少位
例:
14>>2=3
00001100(14)
>>2
00000011(3)
如果移没了,就舍去不管了
3>>1=1
3>>2=0
00000011(3)
>>1

00000001(1)

"<<"就是往前移
3<<2 = 14
00000011(3)
<<2
00001100(14)