“在JavaScript中做什么?

可能重复:
绝对新手指南移位?
什么是JavaScript >>>运算符,你如何使用它?

我在阅读一些代码时遇到了<<

1<<1 //2
2<<1 //4
3<<1 //6
3<<2 //12 

  • 这个叫什么?
  • 这是做什么的?

  • 从这个答案采取:


    左移(<<)

    整数作为一系列位存储在内存中。 例如,存储为32位int的数字6将为:

    00000000 00000000 00000000 00000110
    

    将此位模式移动到左边的一个位置( 6 << 1 )将导致编号12:

    00000000 00000000 00000000 00001100
    

    正如你所看到的,数字已经向左移动了一个位置,而最右边的数字被填充了一个零。 你也许会注意到左移等价于乘以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
    

    变得“结束”的数字丢失了。 它不会环绕。


    这是按位左移运算符。

    a << b将转向b比特的二进制表示的左侧a

    链接地址: http://www.djcxy.com/p/12579.html

    上一篇: what does << do in javascript

    下一篇: What happening here '>>>' operator in java?