在JavaScript中,<< 是位移运算符之一。它将一个数的二进制表示向左移动指定的位数。

23 浏览
0 Comments

在JavaScript中,<< 是位移运算符之一。它将一个数的二进制表示向左移动指定的位数。

我在阅读代码时遇到了`<<`。\n`1<<1 //2\n2<<1 //4\n3<<1 //6\n3<<2 //12`\n

  • 这被称为什么?
  • \n

  • 它是用来做什么的?
  • 0
    0 Comments

    `<<`是JavaScript中的位左移运算符。`a << b`将`b`位左移二进制表示的`a`。

    问题的出现原因是对`<<`运算符的功能和用法不了解。

    解决方法是查阅相关文档,了解`<<`运算符的作用和语法。可以参考JavaScript官方文档或其他可靠的JavaScript教程,了解位运算符的基本知识和用法。

    0
    0 Comments

    在JavaScript中,双小于号(<<)用于进行左移操作。整数在内存中以一系列位的形式存储。例如,将数字6存储为32位整数,其表示为:

    00000000 00000000 00000000 00000110

    将这个位模式向左移动一位(6 << 1),将得到数字12:

    00000000 00000000 00000000 00001100

    可以看到,数字的每一位都向左移动了一位,并且原来最右边的一位被填充为0。还可以注意到,左移操作相当于乘以2的幂次。因此,6 << 1 相当于 6 * 2,6 << 3 相当于 6 * 8。一个优化编译器在可能的情况下会将乘法替换为移位操作。

    需要注意的是,这些移位操作并不是循环移位。将一个值左移一位(3,758,096,384 << 1):

    11100000 00000000 00000000 00000000

    将得到3,221,225,472:

    11000000 00000000 00000000 00000000

    被移出的位将被丢弃,而不会环绕到最右边。

    0