将浮点数转换为负数或正数

Elg*_*oog 1 c c++

我有一个float来自0 to 100我想从-20 to 20一个例子中将其翻译成一个数字:

float100再翻译这将是-20

float50再翻译这将是0

float0再翻译这将是20

这样做的最佳方法是什么?

Oli*_*rth 10

[我打算给你解决这个问题的方法,而不仅仅是答案,因为从长远来看它会更有用.]

你需要一个线性变换形式,y = mx + c其中x是你输入号码,y是你的输出号码,mc在您需要提前确定的时间常数.

为此,您需要解决以下联立方程式:

-20 = m * 100 + c
+20 = m * 0   + c
Run Code Online (Sandbox Code Playgroud)

请注意,我已经选择了两个您需要的转换示例,并将它们插入等式中.我本可以挑选任何两个.