多语言展示
当前在线:1184今日阅读:100今日分享:18

Arduino 比较运算

在写程序时,经常需要对比两个数值的关系,在 Arduino 程序中,当然也有比较函数,这里就整理一下关于 Arduino 程序的比较语句内容
工具/原料
1

Arduino UNO 控制器 * 1个

2

USB 数据线 * 1条

3

Arduino IDE 软件

4

安装好 Arduino UNO 控制器驱动程序的台式机

方法/步骤
1

Arduino IDE 新建代码的方法,程序的上传方法,大家可以参考:http://jingyan.baidu.com/article/414eccf6a8fb9f6b431f0ab1.html来操作

2

常用的关系运算符,比较两个整数的大小1、== 等于2、!= 不等于3、> 大于4、< 小于5、>= 大于等于6、<= 小于等于输入代码:int i = 1;  // some values to start withint j = 2;void setup() {  Serial.begin(9600);}void loop(){  Serial.print('i = ');  Serial.print(i);  Serial.print(' and j = ');  Serial.println(j);  if(i < j)    Serial.println(' i is less than j');  if(i <= j)    Serial.println(' i is less than or equal to j');  if(i != j)    Serial.println(' i is not equal to j');  if(i == j)    Serial.println(' i is equal to j');  if(i >= j)    Serial.println(' i is greater than or equal to j');  if(i > j)    Serial.println(' i is greater than j');  Serial.println();  i = i + 1;  if(i > j + 1)    delay(10000);  }

3

程序效果如下:通过串口打印输出比较的结果注意:这里对于等于的判断是“==”而“=”是赋值语句

4

比较字符串输入代码://定义字符串char String1[] = 'one';char String2[] = 'two';char String3[] = 'three';char String4[] = 'onetwo';String stringone = String('one');void setup() {  Serial.begin(9600);//打开串口,设置波特率为9600  //比较两个字符串,如果相等执行if中语句,如果不想等,执行else中语句  if(strcmp(String1,String2) == 0)     Serial.println('strings are same');  else     Serial.println('strings are different');  //比较两个字符串的前3个字符,如果相等执行if中语句,如果不想等,执行else中语句  if(strncmp(String1,String4,3) == 0)    Serial.println('three word are same');  else    Serial.println('three word are different');  //stringone 分别与“one”和“two”比较,比较相等时,执行相应if中的语句  if(stringone == 'one')    Serial.println('this is true');  if(stringone == 'two')    Serial.println('this is false');}void loop() {}

5

串口输出效果如下:代码回顾:strcmp():用来比较两个字符串是否相等用法:strcmp(String1,String2) == 0strncmp():用来比较两个字符串的前 n 位是否相等用法:strncmp(String1,String4,3) == 0如果使用 Arduino String 功能,可以直接比较字符串用法:if(stringone == 'one')

6

逻辑运算Arduino 程序中的逻辑运算主要有:&& 与(and)逻辑运算,特点:两个条件都是真时,输出为真|| 或(or)逻辑运算 特点:两个条件有一个是假时,输出为假! 非(Not)逻辑运算 特点:将条件内容做取反运算输入代码:boolean val = true;boolean val1 = false;void setup(){  Serial.begin(9600);  boolean one = val && val1;  boolean two = val || val1;  boolean three = !val;  Serial.println(one);  Serial.println(two);  Serial.println(three);   }  void loop()  {    }

7

代码输出效果如下图与运算中,一个为假结果就为假;或运算中,一个为真结果就为真;非运算中,即进行取反。

8

位运算符:& 按位与(and) 特点:都是 1 输出为 1| 按位或(or) 特点:有一个为 1 输出为 1^ 按位异或 特点:相同输出 0,不同输出 1~ 按位取反 特点:1 输出 0,0 输出 1输入代码:

9

输出结果如下图所示,其中是以二进制数输出位运算结果

10

其他运算+= 加法-= 减法*= 乘法/= 除法>>= 右移<<= 左移&= 与运算|= 或运算输入代码:int val = 10;void setup() {  Serial.begin(9600);  val += 5;  Serial.println(val);  val -= 5;  Serial.println(val);  val *= 5;  Serial.println(val);  val /= 5;  Serial.println(val);  val >>= 1;  Serial.println(val,BIN);  val <<= 1;  Serial.println(val,BIN);  val &= 10;  Serial.println(val,BIN);  val |= 10;  Serial.println(val,BIN);}void loop() {}

11

输出效果如下图,期中移位和按位与或语句打印使用二进制数打印,原因是这样打印的效果会比较清晰

注意事项
1

以上是整理了编程中常用的运算,欢迎大家留言

2

希望经验可以帮到您,也希望您给我点个赞,谢谢~

推荐信息