引言:善用&|<<操作,告别低效代码
利用逻辑运算符可以替代很多的乘法除余等操作,这种对二进制直接操作的指令简洁高效,善用逻辑运算符对嵌入式开发,或是对性能要求高的场景是非常必要的,因此这里总结一部分常用的逻辑运算操作
等价列表
1、乘法x*k、除法x/k(k满足2^n):x<<n、x>>n
2、取余x%k(k满足2^n):x&(2^n-1)
3、求x满足x>=n且x是k整数倍的最小值:x=(n + (k - 1)) & -k
4、求满足x<=m且x是k整数倍的最大值(k满足2^n):x & 0xFFF...000,n个1。
5、奇偶判断:n & 1
6、正负判断:(n >> 31) & 1
7、利用右移做除法(四舍五入):M/2^N = (M+2^(N-1))>> N
待补充。。。。。