gpt4 book ai didi

c++ - 使用 Boost 库生成非常大的随机数

转载 作者:行者123 更新时间:2023-11-27 23:03:16 30 4
gpt4 key购买 nike

我正在使用 boost 库生成 [0-2^32-1] 范围内非常非常大的随机数。但是 boost 库不适用于这个范围。它只是显示一条错误消息“Assertion failed min_arg<=max_arg”请帮帮我!这是代码:

#include <iostream>
#include <ctime>
#include <cmath>
#include "boost/random.hpp"
#include <stdint.h>
using namespace std;
int main()
{
long double rangeMin = 0;
long long int rangeMax = (pow(2.0,32.0)-1);
typedef boost::uniform_int<> NumberDistribution;
typedef boost::mt19937 RandomNumberGenerator;
typedef boost::variate_generator<RandomNumberGenerator&,
NumberDistribution> Generator;

NumberDistribution distribution(rangeMin, rangeMax);
RandomNumberGenerator generator;
Generator numberGenerator(generator, distribution);
generator.seed(time(0)); // seed with the current time

cout << numberGenerator() <<endl;
return 0;

}

最佳答案

根据 documentation ,模板参数的默认值boost::uniform_intint .如果你想生成long long int的,你需要使用 boost::uniform_int<long long int> .

关于c++ - 使用 Boost 库生成非常大的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25688886/

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