自定义rand48的上限

时间:2010-04-02 20:12:26

标签: c++ random cuda

我在CUDA中使用自定义随机数函数rand48。该函数不允许设置上限,但我要求输出介于0和1之间。

我想我错过了一些东西但是如何将输出转换为介于0和1之间,数字的长度可以改变,例如697135872需要除以100000000和29186668需要除以100000000。

谢谢大家

1 个答案:

答案 0 :(得分:0)

如果你的PRNG表现得像rand那么它会产生0到RAND_MAX之间的数字且概率一致。您只需乘以1.f/RAND_MAX

如果在不同情况下除以不同的数字,最终会出现非均匀分布。