Я пытаюсь создать модель апокалипсиса зомби в C++, используя простые структуры, а когда я произвожу популяцию, мне нужны некоторые поля структуры для имеют значение в интервале [0..1 [. Поскольку меня интересует более статистически корректный анализ, я решил использовать механизм mt19937 для генерации моих «данных». Когда вы играли с этим PRNG, я не мог найти способ генерировать число в указанном диапазоне. Вот код, который я придумал:Случайный реальный в [0..1 [используя Mersenne Twister
int
main (int argc, char** argv)
{
mt19937_64 newr (time (NULL));
std::cout << newr.max () << endl;
std::cout << newr.min ();
double rn;
for(;;){
rn = newr()/newr.max();
std::cout << rn << std::endl;
}
}
Но единственные выходы, которые я получаю на контуре нули (0). Небольшая печать выхода не работает:
18446744073709551615
0
0
0
0
0
0
0
0
0
0
0
Любые идеи?
'INT/INT = int'. –
Используйте 'std :: uniform_real_distribution'. –