有符号按位左移
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));