前端位运算

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 |

相关推荐
先做个垃圾出来………33 分钟前
Python位运算及操作
java·前端·python
梦帮科技1 小时前
第三十四篇:开源社区运营:GitHub Stars增长策略
开发语言·前端·爬虫·python·docker·架构·html
time_rg1 小时前
react fiber与事件循环
前端·react.js
Mr_chiu1 小时前
告别“代码屎山”:用Cursor系统重构遗留前端项目
前端·cursor
LC同学479811 小时前
工程化实战:uniapp基于路由的自动主题切换体系
前端
莫比乌斯环1 小时前
【安全专项】如何成为一名“火眼金睛”的安卓侦探?
前端·代码规范
LC同学479811 小时前
深入解析:uniapp单仓库多应用(SaaS 化)架构
前端
程序员鱼皮2 小时前
从夯到拉,锐评 39 个前端技术!
前端·程序员·编程语言
凌览2 小时前
0成本、0代码、全球CDN:Vercel + Notion快速搭建个人博客
前端·后端
该换个名儿了2 小时前
Vue3中,我的Watch为什么总监听不到数据?
前端·javascript·vue.js