按位运算符x >> 1且x >> 0

dav*_*vid 5 javascript numbers operators bitwise-operators

可能的重复:
这些运营商做了什么?
>>在javascript中

有人可以解释一下按位运算符>> 1吗?

例:

65 >> 1 = 32

而且当 >> 0

它在这个例子中实现了什么:

var size = (Math.random() * 100 >> 0) + 20;

Sal*_*n A 6

var size = (Math.random() * 100 >> 0) + 20;
Run Code Online (Sandbox Code Playgroud)

>> 0 在上面的例子中用于消除小数部分,如下:

  1. Math.random()返回0到0.99999999之间的数字......
  2. 这个数字乘以100会得到0到99.999999之间的另一个数字......
  3. 此数字右移0次.对于移位操作,该数字被隐式转换为整数; 右移0次对结果整数的值没有任何影响.因此,您最终得到一个0到99之间的整数.请注意,您可以使用该Math.floor()函数而不是>> 0.
  4. 将20添加到整数,结果是20到119之间的整数.