gpt4 book ai didi

c++ - 来自 uniform_real_distribution() 的最小值

转载 作者:搜寻专家 更新时间:2023-10-31 00:33:34 25 4
gpt4 key购买 nike

在我的程序中,我使用 uniform_real_distribution()

生成 0 到 1 之间的均匀随机数
#include <random>

default_random_engine e;
uniform_real_distribution<double> u(0,1);

double rand_num = u(e);

我想知道生成的随机数中除 0 之外的最小值是多少。即两个随机数之间的最小间隙。

最佳答案

您可以使用 std::nextafter 笼统地回答这个问题。

std::nextafter(from, to)返回 from 的下一个可表示浮点值(可以是非正规的)在to的方向.

from == 0.0为例, 你也可以使用 std::numeric_limits<F>::denorm_min() , 其中F是您关心的浮点类型。同时 std::numeric_limits<F>::denorm_min()始终返回可表示的最小正值,它可以是非规范化数字。如果F不支持非正规化,返回值将等于std::numeric_limits<F>::min() .

感谢 WhozCraig 和 T.C.进行更正。

关于c++ - 来自 uniform_real_distribution() 的最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28272291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com