我是靠谱客的博主 友好香菇,这篇文章主要介绍左移运算符,现在分享给大家,希望可以做个参考。

左移运算符(<<)表示将一个数的二进制值向左移动指定的位数,尾部补0,即乘以2的指定次方(最高位即符号位不参与移动)。

复制代码
1
2
3
4
5
6
7
8
9
// 4 的二进制形式为100, // 左移一位为1000(即十进制的8) // 相当于乘以2的1次方 4 << 1 // 8 -4 << 1 // -8

上面代码中,-4左移一位得到-8,是因为-4的二进制形式是11111111111111111111111111111100,左移一位后得到11111111111111111111111111111000,该数转为十进制(减去1后取反,再加上负号)即为-8。

如果左移0位,就相当于将该数值转为32位整数,等同于取整,对于正数和负数都有效。

复制代码
1
2
3
4
5
6
13.5 << 0 // 13 -13.5 << 0 // -13

左移运算符用于二进制数值非常方便。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
var color = {r: 186, g: 218, b: 85}; // RGB to HEX // (1 << 24)的作用为保证结果是6位数 var rgb2hex = function(r, g, b) { return '#' + ((1 << 24) + (r << 16) + (g << 8) + b) .toString(16) // 先转成十六进制,然后返回字符串 .substr(1); // 去除字符串的最高位,返回后面六个字符串 } rgb2hex(color.r, color.g, color.b) // "#bada55"

最后

以上就是友好香菇最近收集整理的关于左移运算符的全部内容,更多相关左移运算符内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部