这几天看算法变成位运算由于不常用一下有点蒙,应该有人跟我一样吧.
这次我简单收集了几个说明了一下,希望大家都补充
所谓的位运算都是对二进制的操作
&,如果是两个大家很熟悉, "&&"是"与",一个也是
不过是两个二进制码的"与" , 两个都是"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)
位运算符 & | ^ >> << 简介
时间: 2024-10-10 18:31:58