O okoy Unregistered / Unconfirmed GUEST, unregistred user! 2000-02-23 #1 好象DELPHI提供的函数RANDOM()不能实现真正的随机。好象有规律。 有何方法能实现真正的随机?
X xxniao Unregistered / Unconfirmed GUEST, unregistred user! 2000-02-23 #2 如果事先不调用rondomize的话,产生的随机数是同样的, 调用了rondomize后,每次可以产生不同的随机数。而且 用程序产生的随机数确切的应该叫伪随机数,不过不会让 泥人容易的发现规律。
W wjiachun Unregistered / Unconfirmed GUEST, unregistred user! 2000-02-23 #3 随机函数本来就是伪随机序列,就是说它是由一些特定的随机函数表达式产生 的,当然你不知道表达式而已! >>有何方法能实现真正的随机? 先由rondomize生成“种子”。
3 3h Unregistered / Unconfirmed GUEST, unregistred user! 2000-02-23 #4 以前似乎看过一篇文章,如果想制作自己的随机数可以这样: 取当前时间的微秒值,加上某个运算如限制大小等作为函数的返回值。 由于每次的微秒值都是不确定的,所以随机的概率非常大。 就算同一部机在同一微秒值启动程序,由于操作系统的任务不同等原因, 得到的随机数列也不尽相同。加上微秒值有一千个所以应该说是够用了。 不过我没试过。总觉得应该比pascal的那种方法好点,可能费点速度。
以前似乎看过一篇文章,如果想制作自己的随机数可以这样: 取当前时间的微秒值,加上某个运算如限制大小等作为函数的返回值。 由于每次的微秒值都是不确定的,所以随机的概率非常大。 就算同一部机在同一微秒值启动程序,由于操作系统的任务不同等原因, 得到的随机数列也不尽相同。加上微秒值有一千个所以应该说是够用了。 不过我没试过。总觉得应该比pascal的那种方法好点,可能费点速度。
X xinglong Unregistered / Unconfirmed GUEST, unregistred user! 2000-02-23 #5 to wjiachun >>先由rondomize生成“种子”。 不知道你试过没有,这样做好像没化不大。 请指点一二。
W wjiachun Unregistered / Unconfirmed GUEST, unregistred user! 2000-02-23 #6 请说一下“真正随机”的含义?? 个人觉得所谓“真正随机”好像无实际意义…… 不知对否?
阿 阿蒙 Unregistered / Unconfirmed GUEST, unregistred user! 2000-02-23 #7 真正随机好象没有。网景曾竟想用过他作密码。可后来反倒让黑客们更容易破解。 随机数主要和时间有关。 可用randomize 生成种子。来产生伪随机数.