小编0li*_*am8的帖子

生成随机 long long C++

int 发电机

我目前int使用以下代码生成确定性伪随机s:

#include <chrono>
#include <ctime>
#include <random>
#include <stdint.h>

const uint32_t CurrentTime = static_cast<uint32_t>(std::chrono::duration_cast<std::chrono::seconds>(std::chrono::steady_clock::now().time_since_epoch()).count());

std::mt19937 Mersenne = std::mt19937(static_cast<std::mt19937::result_type>(CurrentTime));

int Min = 3;
int Max = 6;
std::uniform_int_distribution<> Distribution(Min, Max-1);

int Result = Distribution(Mersenne);
Run Code Online (Sandbox Code Playgroud)

问题

这有两个问题:

  1. 的参数Distribution必须是ints。
  2. 从结果Distribution(Mersenne)int

问题

我如何生成一个随机long long而不是一个intMin并且Max参数也是long longs 而不是ints?

上下文

我正在创建一个确定性游戏(点对点架构),并且long long需要 a的大的最小大小作为一种定点数(因为floats 会导致非确定性)。

我不会接受以下答案:

  • 使用floats 或 …

c++ random mersenne-twister c++17

2
推荐指数
1
解决办法
88
查看次数

标签 统计

c++ ×1

c++17 ×1

mersenne-twister ×1

random ×1