位运算的性质和公式大全

Posted 行码棋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了位运算的性质和公式大全相关的知识,希望对你有一定的参考价值。

一、位运算公式总结

位运算符解释
lowbit(i) 即i&-i返回i的最后一位1
n>>k & 1求n的第k位数字
x | (1 << k)将x第k位 置为1
x ^ (1 << k)将x第k位取反
x & (x - 1)将x最右边的1置为0(去掉最右边的1)
x | (x + 1)将x最右边的0置为1
x & 1判断奇偶性 真为奇,假为偶

二、运算符的性质

1.^运算符

1.任何数异或0是它本身
a^ 0 = a

2.两个相同的数异或为0
a ^ a = 0

3.异或满足结合律交换律
a ^ (b ^ c) = (a ^ b) ^ c
a ^ b = b ^ a

2.|运算符

1.一个数或0还是这个数
a | 0 = a

2.相关运算
a | ~a = 1
a | a = a

3.满足结合律和交换律
( a | b ) | c = a | ( b | c)
a | b = b | a

3.&运算符

1.一个数与1还为这个数
a&1 = a

2.一个数与0为0
a&0 = 0

3.a & ~a = 0

4.a & a = a

5.满足交换律和结合律
a & b = b & a
( a & b ) & c = a & ( b & c )

4.组合性质

1.分配律
a & ( b | c ) = ( a & b ) | ( a & c )
a ^ ( b | c ) = ( a ^ b) | (a ^ c)

2.其它性质
a | ( a & b ) = a
a & ( a | b ) = a

以上是关于位运算的性质和公式大全的主要内容,如果未能解决你的问题,请参考以下文章

C++内存对齐-位运算公式

位运算笔记

位运算模板

位运算模板

初级--05--- 取模运算转化为位运算位运算进行加减乘除

位运算 : 巧妙使用异或(^)