我有一个从 0 到 100
的 float
,我想把它转换成一个从 -20 到 20
的数字,例如:
float
是 100
然后转换为 -20
float
是 50
然后转换为 0
float
为 0
然后翻译为 20
执行此操作的最佳方法是什么?
最佳答案
[我会给你解决这个问题的方法,而不仅仅是答案,因为从长远来看它会更有用。]
您需要一个线性变换,形式为 y = mx + c
,其中 x
是您的输入数字,y
是您的输出number,m
和 c
是您需要提前确定的常量。
为此,您需要求解以下联立方程:
-20 = m * 100 + c
+20 = m * 0 + c
请注意,我已经选择了两个您需要的转换示例,并将它们代入方程式。我可以选择任意两个。
关于c++ - 将 float 转换为负数或正数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8128523/