正余数除法

3
让实数 a,b 满足 b != 0。我想对 ab 进行带余除法。结果应该是唯一的实数 r,它包含在区间 [0,|b|) 中,并满足对于某个(唯一的)整数 ca = bc + rstd::fmod 可以产生类似的结果,但它允许 r 为负数。例如,std::fmod(-.1, 1) == -.1,但我需要一个函数,使得这个例子返回 0.9
1个回答

2
你可以很容易地构建自己的网站:
double pos_fmod(double a, double b) {
    double mod_val = std::fmod(a, b);
    return mod_val >= 0 ? mod_val : b + mod_val;
}

请注意,这里假设 b > 0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接