如何在RAND函数中获得较小的规模

how can I get smaller scale in RAND function

本文关键字:RAND 函数      更新时间:2023-10-16

我使用此代码创建0到1之间的随机数。

randnumber = (double)((double)rand() / (double)RAND_MAX);

这行代码经常给我一些数字,比如0.650434、0.302340和0.906789,这些对我来说都是大数字。问题是我需要更小范围的数字,比如这些数字:0.000200、0.000100、0.000400、0.000600等等。如何修改这行代码以获得结果?

你知道你在寻找什么样的概率分布函数吗?如果你仍然想要均匀,你可以简单地将[0,1)结果除以一个大数字,然后应用一个移位,使其以你想要的值为中心。

如果你想要正态分布的东西,你可以使用类似逆变换的方法。同样,您需要将其居中并修改标准偏差。也有类似的转换

这会给出介于1和100之间的随机数

int randInt= (rand()%100)+1;

所以把它分开,得到你想要的范围

double yourRange=(double)randInt/100000;