【算法/位运算】常见位运算总结+刷题路线(7题)
有符号整数与无符号整数
有符号整数中,最高位用于表示符号,因此最高位又称符号位。 以1字节数为例(1字节包含8位二进制数): 有符号:-128(-2^7)-> -1 -> 0 -> 127(2^7-1) 无符号:0 -> 255(2^8-1)
原码、补码和反码
位运算符总结
异或特点总结
1.x^0 = x 2.x^(~0) = ~x 3.x^(~x) = (~0) 4.x^x = 0 5.c = a^b ---> a^c = b,b^c = a 6.a^b^c = a^(b^c) = (a^b)^c
常见位运算总结
1.将x最右边的n位清零:x&(~0 << n) 2.获取x的第n位值(0或者1):(x>>n)&1 3.获取x的第n位的幂值:x&(1<<(n-1)) 4.仅将第n位置为1:x|(1<<n) 5.仅将第n位置为0:x&(~(1<<n)) 6.将x最高位至第n位(含)清零:x&((1<<n)-1) 7.将第n位置第0位(含)清零:x&(~(1<<(n+1)-1)) 8.判断奇偶:x%2 == 1 --> (x&1) == 1 x%2 == 0 --> (x&1) == 0 9.二分:x/2 == x >> 1 10.清零最低位的1: x = x&(x-1) 11.得到最低位的1:x& (-x) 12.x&(~x) = 0
刷题路线
路线图
题目链接
下一篇:
【力扣771】宝石与石头