如果我在 JavaScript 中有以下代码:
var index1 = (Math.random() * 6) >> 0;
var index2 = Math.floor(Math.random() * 6);
index1
或的结果index2
介于0
和之间6
。
我一定对我对>>
运营商的理解感到困惑。我认为通过使用算术移位,结果index1
将介于1
和之间6
。
我注意到,但是如果我使用运算符,我不需要使用Math.floor()
或Math.round()
for 。index1
>>
我知道我可以通过添加1
两个索引来实现这一点,但我希望有一种更好的方法来确保结果是 from 1
to6
而不是添加1
.
我知道按位运算符将其操作数视为 32 位(零和一)的序列,而不是十进制、十六进制或八进制数。例如,十进制数字 9 的二进制表示为 1001。按位运算符对这种二进制表示执行操作,但它们返回标准的 JavaScript 数值。
更新:
我在第 26 行看到了这个 CAAT教程中的原始用法,我想知道这是否真的会返回一个介于and之间的随机数,而且它似乎只会返回一个介于and之间的随机数。所以你永远不会真正看到鱼的图像!1
6
0
6
anim1.png
提前感谢您的任何启发。