数学问题:将JavaScript中Math.random的上限乘以2时,新的上限是多少

问题描述

因此,这更像是一个数学问题,由于计算机的内存限制,这没有什么区别,但据我所知,从数学上讲,0.99..9 = 1,所以当我们说排除1时[0,1) Math.random()* 2的正确表示法是什么,下限是明确的[0,2),但0,99..8 * 2不应为1,99..6,因此不包括1,99。 .7,1,99..8作为可能的答案。 我想我的错误是我没有正确理解无限,答案只是简单的[0,2),但这似乎不是一个简单的答案。

预先感谢, 卡洛斯

解决方法

我们可以如下理解这个概念:

我们可以简单地使用一种原理,即十进制中的任何数字都可以除以2。

现在为1.999999 ..(10次)

也可以将其除以2,即0.99,999,995(便于计数的逗号)

再次小于1。