Phi*_*Lab 5 c++ random std visual-c++ c++11
我想在整个双范围内生成随机数.这样做
std::uniform_real_distribution<double> doubleDist(std::numeric_limits<double>::lowest(),
std::numeric_limits<double>::max());
Run Code Online (Sandbox Code Playgroud)
然而,产生IND/NaN.我花了一段时间才明白这是根据文档:
需要
a ? b和b-a ? std::numeric_limits<RealType>::max()
显然std::numeric_limits<double>::max() - std::numeric_limits<double>::lowest()大于::max,因为:lowest是负的(不像::min).
为什么我不能以这种方式在最低和最高之间生成数字,背后的理由是什么?
| 归档时间: |
|
| 查看次数: |
93 次 |
| 最近记录: |