我一直在尝试使用带有0.0f&的std :: uniform_real_distribution生成介于0 - 1(但小于1)之间的随机数。 1.0f作为下限和上限。虽然它偶尔会给我1.0f,但文档表明这不应该发生。我误解了它是如何工作的,还是这可能是一个四舍五入的问题?如果是这样,那么生成严格小于1.0f的随机数的正确方法是什么?
我正在使用Visual Studio 2015。
我的代码:
std::mt19937 mGenerator( static_cast< unsigned int >( std::chrono::system_clock::now().time_since_epoch().count() ) );
std::uniform_real_distribution< float > mDistribution( 0.0f, 1.0f );
float result = mDistribution( mGenerator );
感谢。