gpt4 book ai didi

iphone - 在 float 和 float 之间获取随机 float 的最佳方法是什么?

转载 作者:太空狗 更新时间:2023-10-30 03:42:36 28 4
gpt4 key购买 nike

我有一个由两个 float 组成的区间,并且需要生成 20 个随机数,看起来介于两个 float 定义的区间之间。

比方说:

float a = 12.49953f
float b = 39.11234f
float r = //best way to get best randomly numbers between a and b

随机数可能是== a和== b。你有什么建议?我知道所有的计算机和语言都存在随机数问题,并且有很多种生成随机数的方法。但是我没有 objective-c 的经验。

非常重要的是,在循环中生成的一组 20 个数字中生成的数字不相同。为此,我想我会创建一个方法,将数字放入一个数组中,然后检查生成的数字是否与数组中的所有其他数字不同,如果不同,我会生成另一个。

我已经试过了:

CGFloat r = 1 + arc4random() % 5;

但这只会生成整数,而且大多数情况下,我会一个接一个地得到相同随机数的 2 倍。

最佳答案

试试这个

float a = 12.49953f;
float b = 39.11234f;
int startVal = a*10000;
int endVal = b*10000;

srandom((unsigned)(mach_absolute_time() & 0xFFFFFFFF));
int randomValue = startVal+ (random() % (endVal - startVal));

float r = (float)randomValue / 10000.0f;

关于iphone - 在 float 和 float 之间获取随机 float 的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/887240/

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