gpt4 book ai didi

c++ - 更好的随机算法?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:48:33 25 4
gpt4 key购买 nike

我正在用 C++ 制作一个游戏,它涉及用随机 bool 值(是或否)填充方 block ,是否是由 rand() % 1 决定。感觉不是很随意。

我在启动时将 srandctime 一起使用,但似乎出现了相同的模式。

是否有任何算法可以创建非常随机的数字?或者关于如何改进 rand() 的任何建议?

最佳答案

真正的随机性通常看起来并不是很随机。不要期望看到奇怪的运行。

但至少您可以立即做的一件事是避免只使用最低位。在 C 中引用数字食谱:

If you want to generate a random integer between 1 and 10, you should always do it by using high-order bits, as in
j = 1 + (int) (10.0 * (rand() / (RAND_MAX + 1.0)));
and never by anything resembling
j = 1 + (rand() % 10);
(which uses lower-order bits).

此外,您可以考虑使用具有更好属性的不同 RNG。 Xorshift算法是一个不错的选择。它仅需几行 C 代码即可快速且紧凑,并且在统计上应该足以满足几乎所有游戏的需求。

关于c++ - 更好的随机算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1912199/

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