c/c 库带有map()/mapto()函数

C/C++ library with map()/mapto() function?

本文关键字:函数 mapto map      更新时间:2023-10-16

我要搜索的是一个函数,该函数允许将某个数字范围的某个数字值映射到另一个数字。我确实找到了一种手动创建此函数的方法,该功能具有基本的计算output = output_start + ((output_end - output_start) / (input_end - input_start)) * (input - input_start),但是我发现自己始终创建它,浏览我的旧项目或仅为此功能创建标头文件,这真是令人困惑。<<<<<<<<<<<<<<

我想这是一个基本功能,应该在C/C 标准库中或至少在一个主流第三方库中的某个地方,但是我找不到它。

您正在寻找一个线性变换函数,该范围内的每个数字[input_start, input_end]中的每个数字都使用比例性因子在 [output_start, output_end]范围内计算一个数字(即(output_end - output_start) / (input_end - input_start),以覆盖完整范围)。

不幸的是,标准库中不存在此简单功能(例如,在cmathnumeric中都不存在。无论如何,当使用这种转换时,最常见的是,您只想仅计算一次比例因素。

因此,最简单的方法是为此创建自己的功能。在C 中,您可以创建一个类,该类计算构建中的因素。