位运算

1,按位异或(^)

a^b,

如果a,b值相同返回0

如果a,b值不同则返回1.

2,

(l+r)>>1,的意思是除以2.

你看这个是二分是不是很明显了?

同理(l+r)<<1,的意思是乘2.

然后还有一个问题就是

如果你2>>1+1,这样会出错的,因为位运算的优先级和普通运算的优先级不一样的。

会先1+1;

但是人家说这个可以写成(2>>1|1),

额,你也知道按位或对吧。有一则一。这个还是挺简单的。

posted @ 2019-12-08 20:06  北月真好  阅读(165)  评论(0)    收藏  举报