前端位运算

1

当一个数字被向左推了n位时,意味着该数字被乘以2的n次方。
25 << 3 = 200 (25 * 2 power 3)

2

我们将一个数字向右移1位时,它就将该数字除以2

位运算|

|------|---|---|---|---|---|---|
| 二进制表 | | | | | | |
| 2 | 0 | 0 | 0 | 0 | 1 | 0 |
| 4 | 0 | 0 | 0 | 1 | 0 | 0 |
| 8 | 0 | 0 | 1 | 0 | 0 | 0 |
| 16 | 0 | 1 | 0 | 0 | 0 | 0 |
| 32 | 1 | 0 | 0 | 0 | 0 | 0 |

他们都是只有一位为1其余位都为0,那么 2|4|8|16|32 =2+4+8+16+32=62

同理2|4=2+4=6

|------|---|---|---|---|---|---|
| 二进制表 | | | | | | |
| 2 | 0 | 0 | 0 | 0 | 1 | 0 |
| 4 | 0 | 0 | 0 | 1 | 0 | 0 |
| 6 | 0 | 0 | 0 | 1 | 1 | 0 |

位运算&

2&62=4=小的

|------|---|---|---|---|---|---|
| 二进制表 | | | | | | |
| 2 | 0 | 0 | 0 | 0 | 1 | 0 |
| 62 | 1 | 1 | 1 | 1 | 1 | 0 |
| 2 | 0 | 0 | 0 | 0 | 1 | 0 |

4&62=4=小的

位运算^ 两个位相同为0,相异为1

2^62=62-2=60 相当于把2从62中排除剩下就是60

|------|---|---|---|---|---|---|
| 二进制表 | | | | | | |
| 2 | 0 | 0 | 0 | 0 | 1 | 0 |
| 62 | 1 | 1 | 1 | 1 | 1 | 0 |
| 2 | 1 | 1 | 1 | 1 | 0 | 0 |

相关推荐
梨子同志几秒前
手动实现 JavaScript 的 call、apply 和 bind 方法
前端·javascript
梨子同志2 分钟前
ES6 let 和 const
前端·javascript
用户5806139393003 分钟前
超越 console.log():前端调试的 10 个神级技巧
前端
却尘3 分钟前
当全世界都在用 Rust 重写一切时,Prisma 却选择了反方向
前端·数据库·orm
这是个栗子4 分钟前
前端开发者常用网站
前端
前端小白佬20 分钟前
【JS】防抖(debounce)和节流(throttle)
前端·面试
GIS之路22 分钟前
OpenLayers 从后端服务加载 GeoJSON 数据
前端
开始编程吧29 分钟前
【HarmonyOS5】仓颉编程:当多范式统一成为智能时代的「通用语言」
前端
PasserbyX39 分钟前
ES6 WeakMap 生效的证明: FinalizationRegistry
前端·javascript
努力学习的小刘42 分钟前
如何使用react-router实现动态路由
前端·javascript