对于Math.random
应该产生多少随机位有没有任何要求? 我在Chrome和Firefox的实现上进行了一些测试,将结果转换为十六进制以检查位,Firefox 27.0.1的结果如下:
0x1.de619579d56f3p-1
0x1.ef1ada9306decp-2
0x1.df3b75e208ce6p-1
而 Chrome 版本 33.0.1750.154 m 给出
0x1.1190f39c00000p-2
0x1.b959e3b600000p-1
0x1.90f614b400000p-2
相比之下,它非常糟糕。它似乎是32位结果,而Firefox的值似乎使用了53个随机位。
x
和p
之间的部分是十六进制数,而p
后面的部分是表示要乘以的二次幂的十进制数。 - user2357112Math.random()
的规范并没有提到这个问题。所以,我认为它实际上取决于具体的实现方式。 - thefourtheye