给定产生1到5范围内的随机整数的函数,写一个产生1到7范围内随机整数的函数.
什么是用于C++游戏的优秀随机数生成器?
我的考虑是:
rand()在很多地方使用,所以任何其他发电机最好能够证明它需要的所有变化.我对这个问题知之甚少,所以我能想到的唯一选择是Mersenne Twister ; 它满足所有这些要求吗?还有什么比这更好的吗?
编辑: Mersenne Twister似乎是共识的选择.但是第4点呢?它真的好多了rand()吗?
编辑2:让我对第2点更清楚一点:通过了解随机数,玩家无法作弊.期.我希望它足够随意,人们(至少那些了解随机性的人)不能抱怨它,但我并不担心预测.这就是为什么我把速度作为首要考虑因素.
编辑3:我现在倾向于Marsaglia RNG,但我仍然想要更多的输入.因此,我正在设立一个赏金.
编辑4:只是一个注释:我打算在今天午夜UTC之前接受一个答案(以避免弄乱别人的代表帽).所以如果你想回答,不要等到最后一分钟!
此外,我喜欢Marsaglia的XORshift发电机的外观.有没有人对它们有任何意见?
我在C中编写一些嵌入式代码,需要使用rand()函数.不幸的是,控制器的库不支持rand().我需要一个快速的简单实现,但更重要的是空间开销很小,产生相对高质量的随机数.有谁知道使用哪种算法或示例代码?
编辑:它用于图像处理,因此"相对高质量"意味着良好的循环长度和良好的均匀特性.