手戴戒指图片唯美:rnd函数是如何生成随机数的?

来源:百度文库 编辑:高校问答 时间:2024/04/29 19:27:15
请不要复制函数说明给我..

我想知道的是这个函数体是怎么写的...

比如rnd(-1)=0.224007 我想知道是通过什么表达式产生0.224007这个值的.

偶的全部积分都拿出来...
rnd(x) 如果x的值是负数的话..他产生的随机数是固定的.

这个函数是根据计算机时钟得到的,具体的不清楚!

随机数每次调用的结果并不一样,你在同一个环境里你会发现第一次运行rnd(X),第二次运行虽然每次结果不一样,但是每个参数的某次结果都是固定的。比如你那个rnd(-1),每次第一次调用它结果都是固定的。这个算法(你所说的表达式)因编译器/解释器而异,一般为了真实达到随机效果都要开启计数,也就是在算法里加上时钟的值这个参数。用法也是不同的。GCC编译器和微软的编译器采用的就是不同的表达式。
至于负数,谁知道你手头那个编译器是怎么算的。

不同的编译器产生随机数的方法是不同的,但是可以确定的是,你能接触到的这类随机数发生器都是“伪随机数发生器”,因为只要你给它相同的种子,它每次运行的时候得到的随机数都是一样的。

真正的随机数在计算机中是不存在的,你怎么可能通过一个固定的算法,提供固定的参数,经过同样的执行却得到完全不同的结果?数学上行不通。

安全局等对保密要求高的机构的计算机系统会采用变通的方法产生随机数,比如使用当时硬盘中的气流方向和大小来做为计算的种子,或者是两次硬盘读写操作之间的时间间隔来做为计算机的种子……