如何生成命令提示符随机数?

Mee*_*Mee 4 windows random algorithm cmd batch-file

在命令提示符环境中,有一个变量%random%使用某种算法生成伪随机数.

有谁知道生成这些数字的算法?

Li3*_*357 7

所述%random%动态变量产生从0到32767包括一个随机数.生成这些数字的算法是:

srand((unsigned)time(NULL));
Run Code Online (Sandbox Code Playgroud)

事实证明,Windows命令处理器使用标准的天真算法来播种随机数生成器(引自此处)

由于时间种子,它每秒吐出一个新数字.

正如dbenham指出的那样,在同一秒打开的两个命令提示将输出相同的确切数字,因为伪随机性和时间作为种子.

  • 正式地说,生成这些数字的算法是未定义的.从版本到Windows的版本,你甚至无法依赖它. (2认同)