math - 如何缩放数字/值

标签 math

我正在使用一种硬件,正在使用一种专有的编程语言来与VIA串行控件进行通信,该编程语言看起来像是非常笨拙的C版本。

设备在查询时报告其当前音量。范围是-60到+20。如何将其缩放到0-255的范围(以3为增量递增)?

您还可以提供另一个值和其他小数位数的示例吗,即-15到15的小数位数,缩放为0-165,等等。

最佳答案

这实际上是简单的数学

首先,让我们消除对负数的需要:

对于范围-60 <-> + 20:x + 60

现在我们有一个0 <-> 80范围,只需将其缩放到255即可:(x/80)* 255

将所有内容放到公式中,这就是您应该得到的:
y =((x + 60)/80)* 255

所以基本上:

y =((x + negativeValue)/MaxValue)* MaxScale

希望你现在明白了!

关于math - 如何缩放数字/值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12959371/

相关文章:

math - 加权随机坐标

javascript - 如何确定一个点是否在另外两个点之间?

python - C++ 中的长数字

python - 执行计算以显示 Python 具有 53 位精度

c++ - 碰撞 : Separating Axis Theorem Bug

php - 如何在 PHP 中创建具有给定标准差(sigma)的正态分布随机数?

javascript - 在线可视化数学方程编辑器可以在网站上实现吗?

python - 处理空数据时如何知道是否删除列或行?

math - SCSS 三次贝塞尔函数?

algorithm - 找到线段已知 X 的 Y?