算法基础课
位运算
1.位运算与进制基础
位运算
a | b | ~a | a&b | a|b | a^b |
1 | 1 | 0 | 1 | 1 | 0 |
0 | 1 | 1 | 0 | 1 | 1 |
0 | 0 | 0 | 0 | 0 | 0 |
判断奇偶数
获取二进制位是1还是0 (两种解决方案)
交换两个整数变量的值
不用判断语句,求整数的绝对值
异或,可以理解为不进位的加法:1+1=0,0+0=0,1+0=1
性质
交换律 可任意交换运算因子的位置,结果不变
结合律 (即(a^b)^c=a^(b^c))
对于任意数x都有x^x=0,x^0=x,同自己求异或为0,同0求异或为自己
自反性 A^B^B=A^0=A,连续和同一个因子做异或运算,最终结果为自己