前端位运算

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 |

相关推荐
cyforkk32 分钟前
Hexo 双分支部署指南:从原理到 Netlify 实战
前端
小小愿望35 分钟前
前端读取与导出XLSX文件实战指南(React+Ant Design)
前端
小小愿望1 小时前
JavaScript生成随机数的全面指南:别再只会用Math.random()了!
前端
用户847181054191 小时前
wps加载项ribbon.js 与 ribbon.xml 的交互
前端
Jackson__1 小时前
RAG究竟是什么?一文搞懂大模型的记忆增强术
前端
雲墨款哥1 小时前
JS算法练习-Day10-判断单调数列
前端·javascript·算法
前端市界1 小时前
前端视角: PyQt6+Vue3 跨界开发实战
前端·qt·pyqt
阅文作家助手开发团队_山神1 小时前
第四章:Flutter自定义Engine本地依赖与打包流程
前端·flutter
JuneXcy1 小时前
11.web api 2
前端·javascript·html
zYear1 小时前
Elpis 全栈应用框架-- 总结
前端·javascript