您的位置:首页> 前端教程> JS教程
文章导航

JavaScript << 左移运算符

2019-4-22 01:27| 作者: admin| 查看: 857| 评论: 0|来自: 蚂蚁部落

左移运算符由两个小于号(<<)表示。

它能够将二进制数整体向左移动指定的位数。

代码实例:

以数字4为例子做一下介绍,它的二进制表示为:

[JavaScript] 纯文本查看 复制代码
100

如果将其左移2位,那么就变成了:

[JavaScript] 纯文本查看 复制代码
10000

结果为16,代码实例如下:

[JavaScript] 纯文本查看 复制代码运行代码
var num = 4;
var newNum = num << 2;
console.log(newNum);

特别说明:在左移的时候,数字的右侧多出的空位用0填充。

对于负数也是这样的,负数在计算机中是用二进制原码的补码表示。

[JavaScript] 纯文本查看 复制代码运行代码
var view32 = new Int32Array(1);
view32[0] = -520;
 
var new26=view32[0]<<26;
var new22=view32[0]<<22;
console.log(new26);
console.log(new22);

上面的代码解析如下:

[JavaScript] 纯文本查看 复制代码
00000000000000000000001000001000//520
//负数是二进制原码的补码
11111111111111111111110111111000//-520

-520二进制数左移22位,恰好是二进制数从左边数第一个0(11111111111111111111110111111000)在最高位(符号位),所以输出正数。

也就是说左移的时候不会保留符号位。

1

鲜花

握手

雷人

路过

鸡蛋

刚表态过的朋友 (1 人)

最新评论

返回顶部