objective-c - 如何将数字范围从 0-200 转换为 1-5 范围

标签 objective-c math

我有一个从 0 到 200 的值,其中 0 表示质量较好,200 表示质量最差。

我如何将(在 obj-c/cocoa 框架中)转换为 0-5 的整数,最好是 5?

例如 200 将是 0,0 将是 5。

最佳答案

在一般情况下,如果您必须将 Q = [A, B] 转换为 Q' = [A', B'],其中 f( A) = B'f(B) = A',然后是空间 [A, B] 中的任意 X [A', B'] 将具有以下值:

X' = X * k + d;

在哪里

k = (B' - A') / (A - B);

d = A' - B * k;

因此,对于您的情况,我们有 A = 200B = 0A' = 5B' = 1,结果:

k = -1/50

d = 5

[0, 200] 空间中的任意值x 将被翻译如下:

x' = x * (-1 / 50) + 5;

关于objective-c - 如何将数字范围从 0-200 转换为 1-5 范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4794847/

相关文章:

mysql - 来自多个子查询 MYSQL 的 View

math - 将 atan2 值转换为标准 360 度系统值

objective-c - NSTextView 设置格式器?

c# - 这个测试是否正确 : if(obj1. type == obj2.type == 1)?

ios - 在整个应用程序中将默认字体更改为自定义字体

c++ - C++ 中的 n 元组列表

algorithm - 具有非均匀网格的matlab中的双积分

ios - NSArray 改变 NSNumber 的类型

iphone - 如何获得 UITableView 的可见矩形?

javascript - 需要分配员工,使每个部门的平均经验年龄大致相同