Math.random number of random bits

2019-06-19 16:58发布

Is there any requirement on how many random bits Math.random is supposed to produce? I did some tests on Chrome and Firefox's implementations, converting the results to hex to examine the bits, and Firefox 27.0.1 gives results like

0x1.de619579d56f3p-1
0x1.ef1ada9306decp-2
0x1.df3b75e208ce6p-1

whereas Chrome Version 33.0.1750.154 m gives

0x1.1190f39c00000p-2
0x1.b959e3b600000p-1
0x1.90f614b400000p-2

which is godawful in comparison. It appears to be a 32-bit result, whereas Firefox's values seem to use 53 random bits.

1条回答
放我归山
2楼-- · 2019-06-19 17:30

http://www.ecma-international.org/ecma-262/5.1/#sec-15.8.2.14

15.8.2.14 random ( )

Returns a Number value with positive sign, greater than or equal to 0 but less than 1, chosen randomly or pseudo randomly with approximately uniform distribution over that range, using an implementation-dependent algorithm or strategy. This function takes no arguments.

Seems to be all the spec says.

查看更多
登录 后发表回答