Proper boolean random generator (Bernoulli distribution)

岁酱吖の 提交于 2019-12-01 17:54:20

问题


I'd be curious to know if there is a default random boolean generator in the random C++11 library. I've been using a int generator returning 0 or 1 and then converting to bool but I'm trying to optimize my code and thinking that I could save by using from the beginning a bool generator, if it exists.


回答1:


See std::bernoulli_distribution in the <random> header, aptly named after the Bernoulli distribution.

std::random_device device;
std::mt19937 gen(device());
std::bernoulli_distribution coin_flip(0.5);
bool outcome = coin_flip(gen);


来源:https://stackoverflow.com/questions/24417198/proper-boolean-random-generator-bernoulli-distribution

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!