如何在c ++中生成不同的大型随机数/键

时间:2016-05-19 14:17:42

标签: c++ algorithm random numbers unsigned-long-long-int

在c ++中生成大的随机数,它与pow(2,64)-1非常接近。

解释那个问题,我们应该生成n个随机数,其中大部分是大的,并将它们存储在一个数组中。

1 个答案:

答案 0 :(得分:0)

这个问题确实需要进一步澄清。什么是“近在咫尺”?您是要尝试生成加权随机值还是(2 ^ 64)-1最大值?

为了提供答案,我假设后者并且你的随机值总是正的:

可以使用标准库完成生成:
How to generate 64 bit random numbers?

您需要使用uint64_t或类似内容来存储号码。任何较小的数据都可能溢出int界限 https://en.wikipedia.org/wiki/Integer_overflow