跳到主要内容

有符号按位左移

2024年03月11日
柏拉文
越努力,越幸运

一、认识


x << y 左移操作,将 x 在二进制下的每一位向左移动 y 位,最右边用 0 填充。

二、规则


  • 各二进位全部左移若干位,高位丢弃,低位补0
  • 按位左移时,任何数字 x 的计算结果都是x*2^y

三、语法


四、场景


4.1 次方

求2的n次方,等同于Math.pow(2,n)

console.log(1<<3);//求 2 的 3 次方

4.2 倍数

*求2的倍数,等同于 2

const num = 2;
num <<= 1; // num *= 2;

num = num << 1; // num = num * 2;

4.3 取整

向下取整,等同于 Math.floor(x)

let x=22.4;
console.log(x<<0);
console.log(Math.floor(x));
let y=22.8;
console.log(y<<0);
console.log(Math.floor(y));