当为任何特定项目编写Arduino代码时,需要不同的运算符来执行各种功能,它们可以是数学运算,也可以是逻辑运算,对于每种类型的功能,都有特定的运算符。在这篇文章中,我们将简要地讨论布尔运算符。
布尔运算符
为了进行逻辑运算,我们使用了布尔运算符,这些运算符以二进制数字(0和1)为单位进行运算。有三种基本类型的布尔运算符在Arduino编程中最常使用。
- AND 布尔运算符
- 非布尔运算符
- OR 布尔运算符
和运算符
第一个逻辑运算符是AND运算符,只有当给运算符的两个条件都为真时,其输出才为真。同样地,如果运算符的任何一个输入是假的或零,输出将是假的。
要使用这个运算符,需要使用符号"&&"。例如,如果A的值是1,B的值是0,并应用运算符AND**(A&&B**),输出将是0或假。请注意,只有当输入都为真时,AND操作的输出才为真。为了进一步理解,我们使用if-else语句给出了AND操作的示例代码。
void setup(){
Serial.begin(9600);
int a = 15;
int b = 14;
bool d;
if((a >b) && (b <a)) {
d=true;
Serial.print("AND operation: ");
Serial.println(d);
}
else
{
d= false;
Serial.print("AND operation: ");
Serial.print(d);
}
}
void loop () {
}

输出

NOT运算符
第二个布尔运算符是NOT运算符,用于输出需要反转的地方。这个运算符用感叹号(!)表示。这个运算符只有一个输入和一个输出。如果运算符的输入是0,它将把它转换成1。
例如,变量a的值为1,而NOT运算符(!A)被应用于它,那么该变量的值在输出端将为0。此外,NOT运算符的操作可以通过Arduino示例代码来理解。在这个例子中,通过使用not操作符,AND操作的输出被从1倒置为0。
void setup(){
Serial.begin(9600);
int a = 15;
int b = 14;
bool d;
if(!(a >b) && (b <a)) {
d=true;
Serial.print("NOT operation:");
Serial.println(d);
}
else
{
d= false;
Serial.print("NOT operation :");
Serial.print(d);
}
}
void loop () {
}

输出

OR运算符
Arduino编程中用于执行逻辑功能的第三个也是最后一个运算符是OR函数。与AND运算符不同的是,如果任何一个输入为1或为真,这个布尔函数就会给出输出1。因此可以说,当两个输入都是0时,OR函数的输出将是假或零。这个运算符使用的符号是"||"。
为了进一步解释该运算符的功能,我们可以假设,如果A和B是OR运算符的输入,A的值为0,B的值为1,那么OR运算符**(A||B**)的输出将为1。我们将借助一个示例代码进一步解释OR操作。
void setup(){
Serial.begin(9600);
int a = 15;
int b = 14;
bool d;
if((a >b) || (b <a)) {
d=true;
Serial.print("OR operation:");
Serial.println(d);
}
else
{
d= false;
Serial.print("OR operation :");
Serial.print(d);
}
}
void loop () {
}

输出

下表提到了所有布尔运算符的摘要。
| 输入 | 输出 | |||
| 和 | 或 | 不 | ||
| A | B | A &&B | A || B | !A |
| 0 | 0 | 0 | 0 | 1 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 |
结论
布尔或逻辑运算符用于确定特定任务的程序的运行条件。这篇文章简要地解释了什么是布尔运算符,它们的类型是什么以及它们如何在Arduino程序中使用。还给出了Arduino程序的例子,使人们对布尔运算符的功能有了清晰的概念。