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

Ben*_*ian 4 math objective-c

我有一个从0到200的值,其中0是更好的质量,200是最差的质量.

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

例如,200将为0,0将为5.

Mar*_*aev 9

一般情况下,如果你必须转换Q = [A, B]Q' = [A', B'],where f(A) = B'f(B) = A',那么X空间中的任意一个[A, B]将具有[A', B']以下值:

X' = X * k + d;
Run Code Online (Sandbox Code Playgroud)

哪里

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

d = A' - B * k;
Run Code Online (Sandbox Code Playgroud)

因此,对于你的情况,我们有A = 200,B = 0而且A' = 5,B' = 1,导致:

k = -1/50

d = 5
Run Code Online (Sandbox Code Playgroud)

x来自[0, 200]太空的任意值将被翻译如下:

x' = x * (-1 / 50) + 5;
Run Code Online (Sandbox Code Playgroud)