gpt4 book ai didi

iphone - 这个随机函数有什么问题?

转载 作者:太空狗 更新时间:2023-10-30 03:47:31 26 4
gpt4 key购买 nike

我给它 0 和 400,它有时会返回 400 以上的值。这没有意义。

- (float)randomValueBetween:(float)low andValue:(float)high {
return (((float) arc4random() / RAND_MAX) * (high - low)) + low;
}

这实际上是我在网上找到的一个片段。也许有人可以看到其中的错误?

最佳答案

manual page for arc4random指示返回值可以是 u int32 有效范围内的任何位置(即 0 到 (2**32)-1)。这意味着您需要除以 0xFFFFFFFF,而不是 RAND_MAX,我认为它会更少(但是它依赖于库,因此您必须准确检查这是什么)。

你的函数应该变成:

- (float)randomValueBetween:(float)low andValue:(float)high {
return (((float) arc4random() / 0xFFFFFFFFu) * (high - low)) + low;
}

关于iphone - 这个随机函数有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1131101/

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