gpt4 book ai didi

c++ - 约束来自 Arduino 的功能端口

转载 作者:太空狗 更新时间:2023-10-29 19:40:51 25 4
gpt4 key购买 nike

我现在正在将 arduino 代码移植到 stm32(c/c++)。请帮我this功能:

constrain(x, a, b)

返回

x: 如果x在a和b之间

a: 如果x小于a

b: 如果x大于b

示例

sensVal = constrain(sensVal, 10, 150);

// limits range of sensor values to between 10 and 150

最佳答案

这里是一个模板版本,包括一个完整的程序来演示使用(你应该能够复制并粘贴它):

#include <iostream>

template<class T>
const T& constrain(const T& x, const T& a, const T& b) {
if(x < a) {
return a;
}
else if(b < x) {
return b;
}
else
return x;
}

int main() {
int value = 10;
std::cout << constrain(value, 5, 20) << "\n" // prints "10"
<< constrain(value, 15, 20) << "\n" // prints "15"
<< constrain(value, 5, 9) << std::endl; // prints "9"
}

这可以用于任何具有 operator< 的类型(这包括所有内置数字类型,例如 intfloat)。

关于c++ - 约束来自 Arduino 的功能端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8941262/

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