位运算是一项既实用又装逼的技能。废话不多说,直接上干货,本文采用go
语言进行说明
1.乘以2或除以2#
左移乘2,右移除2
注:除以2,对负奇数不可用
1 | // 乘以2 |
2.判断奇偶#
原理:因为二进制中所有偶数的最后一位一定是0,所以与1进行与
操作。结果1,则是奇数;否则偶数。
1 | // 判断某数是否是奇数 |
3.判断是否符号相同,即都负或都正#
注:对于0的判断,不同机器可能不同。所以建议不要传递 0 进行判断
1 | func sameSign(n,m int) bool { |