c++ - 将 float 转换为负数或正数

标签 c++ c

我有一个从 0 到 100float,我想把它转换成一个从 -20 到 20 的数字,例如:

float100 然后转换为 -20

float50 然后转换为 0

float0 然后翻译为 20

执行此操作的最佳方法是什么?

最佳答案

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

您需要一个线性变换,形式为 y = mx + c,其中 x 是您的输入数字,y 是您的输出number,mc 是您需要提前确定的常量。

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

-20 = m * 100 + c
+20 = m * 0   + c

请注意,我已经选择了两个您需要的转换示例,并将它们代入方程式。我可以选择任意两个。

关于c++ - 将 float 转换为负数或正数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8128523/

相关文章:

c++ stol 抛出字符串长度为 10 或更长的超出范围异常

c++ - 从 Fortran 调用 C 函数,其中 C 函数名称最初是从 C 传入的

c - 如何使用哈希表在句子列表中找到最常见的短语

python - 保证与 Python 程序同时启动的 C 程序将具有相同的整数时间值

c++ - 此断点当前不会被命中 : Dll debugging

c++ - 在指定位置插入字符

c++ - 为什么 cout 在代码块上没有产生输出?

c - 阻塞当前线程,类似于 getchar()

c - 被调用函数是否应该始终检查 C 中的数组大小?

c++ - 记住变量供下次使用