gpt4 book ai didi

c - 试图找到一个完全随机数生成器

转载 作者:可可西里 更新时间:2023-11-01 13:29:24 26 4
gpt4 key购买 nike

我在 C 中工作,我正在(拼命地)尝试制作一个随机生成器,它不仅生成每次我运行生成器时都有不同的数字,但每次运行程序时也会有不同的顺序。我测试了我在网上找到的几乎所有东西。我得出了 2 种制作好的随机生成器的好方法。第一个是每次都使用不同的种子。但这意味着我每次都必须使用不同的随机种子,这是我一开始没有解决的问题。这是我现在正在尝试的,但它不是真的随心所欲:

int myrand(int random_seed){
random_seed = random_seed * 1103515245 +12345;
return (unsigned int)(random_seed / 65536) % 32768;
}

每次我调用该函数时,我都会将种子增加 1。

第二种方法是使用时间。时间变化,这是随机性。我也尝试了很多方法来实现这个。我最近的尝试是在这里: Compiler error-Possible IDE error"undefined reference to gettimeofday error"但我无法使用 gettimeofday 函数,因为我在 Windows 中工作。同样在那个问题中我没有得到任何答案。

谁能帮助我如何在 Windows 中使用 C 实现随机生成器(可能使用时间)?或者我应该使用 Unix?

最佳答案

为您的 RNG 植入良好的熵源。

在 unix 下,使用/dev/random。

在 Windows 下,使用类似于 CryptoAPI - Windows equivalent of /dev/random 的东西

关于c - 试图找到一个完全随机数生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13938492/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com