rand()函数产生的随机数为什么是伪随机数
1个回答
展开全部
计算机的运行过程是一个确定的过程,每一条指令都是确定,因此从根本上来讲,计算机产生不了真正意义上的随机数。
那么伪随机数怎么理解呢?举个最简单的例子,要随机产生0~9十个数,那么计算机可以循环快速的给出0、1、2、3、4、5、6、7、8、9、0、1……这样的一个数列,这个数列并不是随机的,而是有规律的(所以才叫做伪随机),当我们按下按钮,或者点下鼠标的瞬间,机器停止,并显示最后的一个数字(有点类似于玩老虎机),这个过程我们挑选出来的数字好像是随机的,但其实并不是100%随机,只有我们去触发机器的那个时间点是随机的,其他都是有规律的,所以就是伪随机。
rand()函数就是给出一列数值(这列数值是被事先打乱,但是是固定的数值),所以属于伪随机数。只是机器执行到rand()函数的时间点是随机的,才让我们感觉执行结果是随机的一样。
那么伪随机数怎么理解呢?举个最简单的例子,要随机产生0~9十个数,那么计算机可以循环快速的给出0、1、2、3、4、5、6、7、8、9、0、1……这样的一个数列,这个数列并不是随机的,而是有规律的(所以才叫做伪随机),当我们按下按钮,或者点下鼠标的瞬间,机器停止,并显示最后的一个数字(有点类似于玩老虎机),这个过程我们挑选出来的数字好像是随机的,但其实并不是100%随机,只有我们去触发机器的那个时间点是随机的,其他都是有规律的,所以就是伪随机。
rand()函数就是给出一列数值(这列数值是被事先打乱,但是是固定的数值),所以属于伪随机数。只是机器执行到rand()函数的时间点是随机的,才让我们感觉执行结果是随机的一样。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询