写这个类型博客的目的就是想总结一下某个专题的知识点,方便以后比赛前复习,由于太菜,如有错误,还请斧正。
首先位运算有那么几种:&按位与 |按位或 ^按位异或 ~按位取反 <<左移 >>右移 <<<无符号左移
后四种目前俺刷题比较少,没怎么遇到一些特殊的性质
先来说说&按位与:只有两个位都为1时结果才为1
1.一个数&1就相当于一个数%2
2.取数:例如一个数&11就是去二进制后两位
|按位或:只有两个位都为0时结果才为0
1.变数:例如如果要将第四位强行变为1,只需要或上***1***就行
^按位异或:两个相同时为1否则为0
1.x^0 = x
且 x^x = 0
2.交换律:x^y = y^x
3.结合律:(x^y)^z = x^(y^z)
4.自反性:x^y^y = x
5.交换两个数ab
a = a^b
b = a^b
a = a^b