gpt4 book ai didi

c++ - 使用负浮点值计算比例

转载 作者:行者123 更新时间:2023-11-27 23:25:41 24 4
gpt4 key购买 nike

我想知道在 C++ 中是否有任何方法可以计算在 vars 和 extremes 中都可能包含负值的比例。

我的目标是将 float 文本输入小部件与固定极值同步(例如,用户可以使用 A,B=any_constant_real_number 输入 A (min) 和 B (max) 之间的任何 double 值)以及只能在两者之间滑动的 slider 0 和 100(简化)。

如果 A 和 B 是正的,一切都是微不足道的。作为val_slider = ((val_textin-A)*100)/(B-A)

但是因为 A 和 B 可以被假定为真实的,所以在我看来唯一的可能性是使用多个 if/cases,或者涉及大量 abs() 的巨大公式并检查 0-divisions,它们很容易出错并且与如此简单的任务相比,成本非常高。

在 c/c++/STL 中有没有更快更短的方法来实现相同的目的?

请原谅我的英语不好。有什么提示吗?谢谢。

最佳答案

您的公式应该适用于 A 的负值和 B同样,作为日志 A < B .

例如,如果您希望用户能够输入从 -100 到 100 的值,并将这些值映射到从 0 到 100 的 slider ,当用户输入 -90 时,您会得到:

((-90 - A) * 100) / (B - A) = ((-90 - (-100)) * 100) / (100 - (-100)) 
= 10 * 100 / 200
= 5

输入值为 50 会导致 slider 值为:

((50 - A) * 100) / (B - A) = ((50 - (-100)) * 100) / (100 - (-100)) 
= 150 * 100 / 200
= 75

关于c++ - 使用负浮点值计算比例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9676907/

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