那天我在公司加班。已经 11 点了,办公区只剩我和空调“嗡嗡嗡”地对视。正准备关电脑的时候,隔壁组的老王突然探过头来问我一句:
“小米,你知道位操作符吗?面试官刚问我,我差点没绷住。”
我愣了一下,咖啡刚喝到嘴里。
位操作符?这玩意儿就像公司仓库里的最底层管理员,平时谁都不太搭理它,但一到关键时刻,它能决定系统性能、生死存亡。
我跟老王说:“位操作符啊,你可以把它理解成在二进制世界里搬箱子、点灯泡、开关闸门的人。”
老王一脸懵。于是,这篇文章就诞生了。
什么是位操作符?先别急着写代码
在 Java、Python 这些高级语言里,我们平时操作的是:
- int
- long
- boolean
- 对象、集合、字符串
但在CPU 眼里,这些东西统统只有一个形态:0 和 1,所以你可以把位操作符理解为:直接对“0 和 1”动手的工具
如果把一个整数想象成一排灯泡:
1 0 1 1 0 0 1 0
那么位操作符就是:
- 把某几盏灯关掉
- 把某几盏灯点亮
- 把整排灯向左挪
- 把整排灯向右挪
而 Java 和 Python,都支持这些操作,但性格完全不一样。
先来一张全景对比表(建议收藏)
在深入故事之前,我们先把 Java 和 Python 支持的位操作符放