举例说明Arduino中的算术运算符

910 阅读5分钟

Arduino编程中的算术运算符用于计算以两个或多个数字为操作数的数学运算。Arduino编程中运算符的使用发挥了重要作用,因为它定义了程序工作的基础条件。在Arduino编程中,有不同类型的算术运算符被使用。在本篇文章中,将简要讨论数学运算符。

  • 加法运算符
  • 减法运算符
  • 乘法运算符
  • 除法运算符
  • 绝对运算符
  • 最小和最大运算符
  • 平方运算符
  • 平方根运算符
  • 模数算子
  • 功率运算符

Arduino中的算术运算符

算术运算符用于执行基本的数学功能。基于这些算术运算符,可以设计出所需程序的逻辑。有11个算术运算符用于数学计算,在这篇文章中进行了解释。

加法

当两个或更多的数字要相加时,就会使用加法运算符。在Arduino中编写代码时,首先要用整数数据类型声明数字,无论是变量还是常数。然后使用加法运算符 "+"进行加法运算。这可以通过下面的代码进一步解释。

int a = 4;
int b= 2;
const int c= 1;
int add;
add= a+b+c;

减法

在Arduino编程中,可以使用减法运算符"-"来计算任何两个或多个数值之间的差异。如果两个或更多的数字要被减去,它们必须首先被声明为常数或变量,然后这些值可以使用减法运算符进行减法。为了更好地理解,下面给出了一些简单的语句。

int a = 4;
int b= 2;
int subtract;
subtract= a-b;

乘法

在Arduino编程中,两个常数和变量的乘法可以使用星号 "*"符号来完成。同样,一个常数和一个变量也可以用同样的方法进行相乘。

int a = 4;
int b = 2;
const int c= 1;
int multiply;
multiply= a*b*c;

除法

要对常量值和变量值中的任何两个进行除法,需要使用正斜线"/"符号。除法运算符使用的变量类型是float,因此可以接受任何非整数输出。此外,像其他运算符一样,一个常数和另一个变量也可以被除掉。

int a = 4;
int b = 2;
Float divide;
divide= a/b;

绝对值

在Arduino编程中,为了将一个负值转换成一个正值,无论该值是变量还是常数,都要取其绝对值。绝对值的意义在于告诉一个数字离0有多远,而不表示方向;在Arduino代码中使用abs命令来取绝对值,如下面的语句中所示。

int c =-16;
int result;
result =abs(c);

在这里的示例代码中可以看出,c值离0有16个值。

最大和最小

任何两个值之间的最大值和最小值都可以通过在Arduino程序中使用**max()min()**函数找到。这些值可以是变量,也可以是常量。

//For maximum
int a = 4;
int b= 2;
int max_output;
max_output= max(a,b);
//For minimum
int a = 4;
int b= 2;
int min_output;
min_output = min(a,b);

从上面的代码来看,最大函数的输出为4,最小函数的输出为2,因为4大于2。

平方根

要对任何变量或常量值取平方根,在arduino中使用**sqrt()**函数。100的平方根将是10。

int y = 100;
int = result;
result = sqrt(y);

平方

用于获取变量和常数的平方的函数是sq()。同样地,用于运算符平方的数据类型是float, int, double。在这个例子中,2.8的平方将是7.84。

float f = 2.8;
float  = result;
result = sq(f);

模数

如果两个数值被分割,而它们没有被完全分割,那么就会留下一个残余的数值,所以要使用百分比符号"%"来找到这个数值的余数运算。由于在给定的例子中,两个数字都是完全可分的,所以余数将为零。

int a= 4;
int b = 2;
float result;
result = (a%b);

幂函数

该运算符可用于计算具有指数形式的变量或常数的值。用于此的函数是pow()。为了更好地理解这个运算符,下面写了一些伪代码。在这个例子中,使用pow()函数计算了4的升幂2,nas的输出将是16。

int a = 4 ;
int b= 2;
int result;
result =pow(a,b);

示例代码

上面解释的算术运算符在一个程序中被编译在一起。只有除法运算符使用了浮点数类型的变量,其余的运算符使用了整数类型的变量,因为除法运算符的结果可以是小数。

void setup() {
  // put your setup code here, to run once:
  int a = 4;
  int b = 2;
  int x=-16;
  int y= 100;
  float f = 2.8;
  int result;
  float result_fl;
  Serial.begin(9600);
  Serial.print("Addition (a + b): ");
  result = a + b;
  Serial.println(result);
  Serial.print("Subtraction (a - b): ");
  result = a - b;
  Serial.println(result);
  Serial.print("Multiplication (a * b): ");
  result = a * b;
  Serial.println(result);
  Serial.print("Division (a / b): ");
  result_fl = a / b;
  Serial.println(result_fl);
  Serial.print("Remainder (a % b): ");
  result = a % b;
  Serial.println(result);
  Serial.print("absolute of -16 is: ");
  Serial.println(abs(x));
  Serial.print("maximum value is: ");
  Serial.println(max(a, b));
  Serial.print("minimum value is: ");
  Serial.println(min(a, b));
  Serial.print("square of 2.8 is: ");
  Serial.println(sq(f));
  Serial.print("value for 4^2 is: ");
  result=pow(a, b);
  Serial.println(result);
  Serial.print("square root of 100 is:");
  result=sqrt(y);
  Serial.println(result);
 
}
 
void loop() {
  // put your main code here, to run repeatedly:
 
}

输出

总结

Arduino编程中的算术运算符有助于确定代码运行背后的基本逻辑。这篇文章解释了什么是算术运算符,以及它们如何用于数学计算,而数学计算可以用来为任何特定任务的执行创造条件。