适当的布尔随机生成器(伯努利分布)

时间:2014-06-25 19:42:24

标签: c++ c++11 random boolean probability

我很想知道random C ++ 11库中是否有默认的随机布尔生成器。我一直在使用一个返回01然后转换为bool的int生成器,但我正在尝试优化我的代码并认为我可以通过从头开始使用bool生成器来保存,如果它存在。

1 个答案:

答案 0 :(得分:12)

请参阅std::bernoulli_distribution标题中的<random>,以Bernoulli distribution命名。

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