为什么要学习位运算
- 有些功能必须通过位运算才能实现:比如写调试器,判断CPU的各种状态位
- 大公司面试题:比如2x8效率最高的实现方式
位运算
- 与运算(and &)
- 两个位都为1,结果才为1
- 或运算(or |)
- 两个只要有一个为1就是1
- 异或运算(xor ^)
- 不一样的时候是1
- 非运算(not ~)
- 0就是1 1就是0
- 左移(shl <<)
- 各二进位全部左移若干位,高位丢弃,低位补0
- 右移(shr(前面补0)/sar(前面补1) >>)
- 各二进位全部右移若干位,低位丢弃,高位补0或者补符号位
总结
- 计算机只会位运算
关于本文
由 GuQing 撰写,采用 CC BY-NC 4.0 许可协议。