您好我想在iPad应用程序的目标C中将特定范围的数字映射到不同的范围。
例如,我可能有一个0-255范围内的输入值,但我想输出的范围是0.5-1。例如,输入127.5将导致输出0.75。
提前干杯。
答案 0 :(得分:8)
这是一般解决方案(它适用于范围和输入值的任何组合):
CGFloat const inMin = 0.0;
CGFloat const inMax = 255.0;
CGFloat const outMin = 0.5;
CGFloat const outMax = 1.0;
CGFloat in = 127.5;
CGFloat out = outMin + (outMax - outMin) * (in - inMin) / (inMax - inMin);
答案 1 :(得分:5)
计算第一个的比率并将其应用于第二个的范围:
CGFloat result = ((127.5 / 255) * 0.5) + 0.5;