gpt4 book ai didi

c++ - 如何将小数标准化为一个范围内的数值

转载 作者:行者123 更新时间:2023-12-04 01:02:27 26 4
gpt4 key购买 nike

如何将 [0.0, 1.0] 范围内的浮点小数标准化为设置在最大值和最小值范围之间的数字?规范化是正确的词吗?遵循我想做的事情。
如果我输入 0.5范围是 010 ,那么输出应该是 5 .
如果我输入 0.799999范围是 010 ,那么输出应该是 8 .
如果我输入 0.345范围是 010 ,那么输出应该是 3 .
如果我输入 0.555范围是 020 ,那么输出应该是 11 .

unsigned int Normalise(float value, unsigned int min, unsigned int max) {
// Return value normalised between min and max
}
我不太确定 normalize 在算术上下文中是否是正确的词。

最佳答案

您正在寻找的术语是“插值”又名“线性插值”又名lerp :
您可以轻松创建一个模板来执行您想要的操作:

template<typename T>
[[nodiscard]] T lerp(const T& a, const T& b, float t) {
return ((1.0f - t) * a) + (t * b);
}

关于c++ - 如何将小数标准化为一个范围内的数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67838245/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com