举例说明Arduino的布尔运算器

417 阅读2分钟

当为任何特定项目编写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 () {

}

输出

下表提到了所有布尔运算符的摘要。

输入输出
ABA &&BA || B!A
00001
01011
10010
11110

结论

布尔或逻辑运算符用于确定特定任务的程序的运行条件。这篇文章简要地解释了什么是布尔运算符,它们的类型是什么以及它们如何在Arduino程序中使用。还给出了Arduino程序的例子,使人们对布尔运算符的功能有了清晰的概念。