Javascript 按位左移运算符使用介绍(<<)


在JavaScript中,按位左移运算符(`<<`)是一种二进制运算,它会将左侧数的各二进制位全部左移指定的位数,由右侧的数决定。移动过程中,左侧数最左边的位将会被丢弃,而在最右边新增的位将用0填充。

这种运算符常用于对数值进行快速的乘以2的幂次方的操作,因为每次左移一位,就相当于乘以2。

### 基本语法


result = a << b;

- `a` 是将要进行左移操作的数。

- `b` 是指定左移的位数。

- `result` 是左移后的结果。

### 示例

假设我们有以下代码:


let a = 5; // 二进制表示为 101
let b = 2;
let result = a << b;
console.log(result); // 输出 20,因为 101 左移两位后变为 10100,即十进制中的 20

在这个例子中,数字5(二进制表示为`101`)被左移了2位。左移过程中,最左边的`1`被丢弃,同时在最右边增加了两个`0`,结果得到`10100`,这是十进制中的20。

### 注意事项

- 如果`b`是一个负数,那么结果是不确定的,因为JavaScript会尝试将`b`转换为一个无符号的32位整数,然后进行位移操作。

- 如果`b`大于或等于`a`的位数(对于JavaScript中的数字,这通常是32位或64位,取决于JavaScript引擎的实现),那么结果可能是0,因为所有的位都被移出了左侧数的范围。

- 在进行位运算时,JavaScript会将操作数转换为32位整数(对于有符号整数)或32位无符号整数(对于无符号右移运算符`>>>`),然后执行运算。