真随机数

时间:2012-07-20 20:52:40

标签: delphi delphi-xe2

我试图获得一个0-20的随机数

RandomRange(0, 20)

我知道很多软件在使用内置函数随机时它会在每次运行程序时给出相同的随机数,因此不是那么随机.. RandomRange是这样做的吗?我无法测试不靠近编程计算机。如果答案是肯定的,那我怎样才能获得真正的随机数?

由于

1 个答案:

答案 0 :(得分:4)

http://www.delphibasics.co.uk/RTL.asp?Name=Random

http://www.delphibasics.co.uk/RTL.asp?Name=Randomize

Randomize命令将根据当前时间重新播种随机数生成器。有了这个,你获得完全相同的“随机”数字序列的唯一方法就是你在一天中完全相同的时间运行程序(通常为了这些目的而测量到几分之一秒)。

编辑:您也可以使用RandSeed(http://www.delphibasics.co.uk/RTL.asp?Name=RandSeed)自行选择种子。如果您想多次测试相同的序列,进行调试,或者希望基于其他种子随机化而不是时间,这将非常有用。