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

How to Generate distinct large random number/keys in c++

本文关键字:随机数 密钥 c++      更新时间:2023-10-16

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

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

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

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

可以使用标准库进行生成:
如何生成64位随机数?

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