gpt4 book ai didi

c++ - 在 C/C++ 中获取大的随机数

转载 作者:太空宇宙 更新时间:2023-11-04 12:52:41 25 4
gpt4 key购买 nike

标准 rand() 函数给出的数字对我来说不够大:我需要 unsigned long long 的。我们如何获得真正大的随机数?我尝试修改一个简单的散列函数,但它太大,运行时间太长而且永远不会产生小于 1e5 的数字!!

最佳答案

您可以使用 std::uniform_int_distribution<unsigned long long> 轻松完成此操作.

简单示例代码(取自 here ,修改为使用 unsigned long long ):

#include <random>
#include <iostream>

int main()
{
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<unsigned long long> dis(lowerBorder, upperBorder);

for (int n=0; n<10; ++n)
std::cout << dis(gen) << ' ';
std::cout << '\n';
}

请注意,此处用于演示目的的梅森扭曲器的播种并不完美,例如请参见 here .

关于c++ - 在 C/C++ 中获取大的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48223859/

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