为什么随机数生成不对?

时间:2012-08-09 04:58:16

标签: c++ visual-c++ random

以下是我的代码:

uniform_int_distribution<>temp(-1,1);
default_random_engine e((unsigned int)time(0));
for(int a=0;a<50;a++){
cout<<temp(e)<<endl;
}

你知道,我预计数字范围是-1,0,1,这三个数字。     实际上结果通常只包含0和1。     如果我多次运行这个程序,那么很少-1号将是最后一次的数字。     我不知道为什么,uniform_int_distribution应该包含-1,对吧?

1 个答案:

答案 0 :(得分:4)

这是一个明显已修复的错误:http://connect.microsoft.com/VisualStudio/feedback/details/712984

如果您现在需要解决方法而不安装软件更新,为什么不在0到2之间生成,然后在之后减去1?