gpt4 book ai didi

c++ - 解释这个c++随机

转载 作者:行者123 更新时间:2023-11-28 07:03:24 27 4
gpt4 key购买 nike

如图所示post在 C++ 中有几种生成随机 float 的方法。但是我不完全理解答案的第三个选项:

float r3 = LO + static_cast <float> (rand()) /( static_cast <float> (RAND_MAX/(HI-LO)));

谁能给我解释一下这条线?这里的限制是如何计算的?

最佳答案

rand() 生成从 0RAND_MAX 的随机数。

0 <= rand()/RAND_MAX <= 1    
implies: 0 <= rand()/RAND_MAX*(HI-LO) <= HI-LO
implies: LO <= LO + rand()/RAND_MAX*(HI-LO) <= HI

现在由于 RAND_MAXHI-LO 是整数,RAND_MAX/(HI-LO) 被类型转换为 float.

关于c++ - 解释这个c++随机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22118816/

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