- `<<` 这个符号在编程中叫做 " 左移运算符 "。
- `1<<1` 的意思是把数字 1 向左移动 1 位。
- 在计算机中,数字是用二进制表示的。数字 1 在二进制中是这样的:
`0001`
- 当我们把它向左移动 1 位,就变成了:
`0010`
- 这个 `0010` 在十进制中表示的就是数字 2。
[int](int.md) 是 32 个 bit 位
## 电商 L 页筛选
1. 右移操作 `>>>`:
- `roomAttrCode >>> this.getPosition()`
- 将整数右移指定的位置数,把目标属性移到最右边
- 使用无符号右移 `>>>`,高位补0
1. 掩码操作 `& ((1 << this.getLength()) - 1)`:
- `1 << this.getLength()` 创建一个掩码
- 减1后得到指定长度的全1掩码
- 与运算(&)提取出指定长度的位