本文介绍了我如何获得兰特号的特定范围()?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
函数srand(时间(空));的printf(%d个,RAND());
给出了一个高范围的随机数(0-32000ish),但我只需要大约0-63或0-127,虽然我不知道如何去做。任何帮助吗?
解决方案
兰特()%(MAX_NUMBER + 1 - minimum_number)+ minimum_number
因此,对于0-65:
兰特()%,(65 + 1 - 0)+ 0
(很明显,你可以离开了0,但它的存在的完整性)。
请注意,这将偏向随机性略有下降,但可能没有什么可担心,如果你没有做什么特别敏感。
srand(time(null));
printf("%d", rand());
Gives a high-range random number (0-32000ish), but I only need about 0-63 or 0-127, though I'm not sure how to go about it. Any help?
解决方案
rand() % (max_number + 1 - minimum_number) + minimum_number
So, for 0-65:
rand() % (65 + 1 - 0) + 0
(obviously you can leave the 0 off, but it's there for completeness).
Note that this will bias the randomness slightly, but probably not anything to be concerned about if you're not doing something particularly sensitive.
这篇关于我如何获得兰特号的特定范围()?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!