Categories: Arduino 教程

Arduino 运算符

运算符是一个符号,它告诉编译器执行特定的数学或逻辑函数。C语言具有丰富的内置运算符,并提供以下类型的运算符:

  • Arithmetic Operators 算术运算符
  • Comparison Operators 比较运算符
  • Boolean Operators 布尔运算符
  • Bitwise Operators 位运算符
  • Compound Operators 复合运算符

算术运算符

假设变量A为10,变量B为20,则:

示例

运算符名称 运算符简写 描述 例子
赋值运算符
= 将等号右侧的值存储在等号左边的变量中。 A = B
加号 + 两个操作数相加 A + B将得出30
减号 从第一个操作数中减去第二个操作数 A – B将得出-10
乘号 * 将两个操作数相乘 A * B将得出200
除号 / 用分母除分子 B / A将得出2
模数 % 模数运算符和整数除后的余数 B % A将得出0


比较运算符

假设变量A为10,变量B为20,则:

示例

运算符名称 运算符简写
描述 例子
等于 == 检查两个操作数的值是否相等,如果相等,则条件为真(true)。 (A == B)不为真
不等于 != 检查两个操作数的值是否相等,如果值不相等,则条件为真。 (A != B)为真
小于 < 检查左操作数的值是否小于右操作数的值,如果是,则条件为真。 (A < B)为真
大于 > 检查左操作数的值是否大于右操作数的值,如果是,则条件为真。 (A > B)不为真
小于或等于 <= 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件为真。 (A <= B)为真
大于或等于 >= 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件为真。 (A >= B)不为真


布尔运算符

假设变量A为10,变量B为20,则:

示例

运算符名称
运算符简写
描述 例子
and(与) && 称为逻辑运算符与。如果两个操作数都是非零,那么条件为真。 (A && B)为真
or(或) || 称为逻辑运算符或。如果两个操作数中的任何一个是非零,则条件为真。 (A || B)为真
not(非) ! 称为逻辑运算符非。用于反转其操作数的逻辑状态。如果条件为真,则逻辑运算符非将为假。 !(A && B)为假


位运算符

假设变量A为60,变量B为13,则:

示例

运算符名称
运算符简写
描述 例子
and(与) & 如果同时存在于两个操作数中,二进制AND运算符复制一位到结果中。 (A & B)将得出12,即0000 1100
or(或) | 如果存在于任一操作数中,二进制OR运算符复制一位到结果中。 (A | B)将得出61,即0011 1101
xor(异或) ^ 如果存在于其中一个操作数中但不同时存在于两个操作数中,二进制XOR运算符复制一位到结果中。 (A ^ B)将得出49,即0011 0001
not(非) ~ 二进制NOT运算符是一元运算符,具有”翻转”位效果。 (〜A)将得出-60,即1100 0011
shift left(左移)
<< 二进制左移运算符。左操作数的值向左移动右操作数指定的位数 A<< 2将得出240,即1111 0000
shift right(右移)
>> 二进制右移运算符。左操作数的值向右移动右操作数指定的位数 A>> 2将得出15,即0000 1111


复合运算符

假设变量A为10,变量B为20,则:

示例

运算符名称
运算符简写
描述 例子
自增 ++ 自增运算符,将整数值增加1 A++ 将得出11
自减 自减运算符,将整数值减1 A– 将得出9
复合加
+= 加且赋值运算符。把右边操作数加上左边操作数的结果赋值给左边操作数。 B += A 等效于 B = B + A
复合减
-= 减且赋值运算符。把左边操作数减去右边操作数的结果赋值给左边操作数。 B -= A等效于B = B – A
复合乘
*= 乘且赋值运算符。把右边操作数乘以左边操作数的结果赋值给左边操作数。 B *= A等价于B = B * A
复合除
/= 除且赋值运算符。把左边操作数除以右边操作数的结果赋值给左边操作数。 B /= A等效于B = B / A
复合模数
%= 求模且赋值运算符。 求两个操作数的模赋值给左边操作数 B %= A等效于B = B % A
复合按位或 |= 按位或且赋值运算符 A |= 2与A = A | 2相同
复合按位与
&= 按位与且赋值运算符 A &= 2与A = A & 2相同

andy

前端小白,在Web176教程网这个平台跟大家一起学习,加油!

Share
Published by
andy

Recent Posts

在 Chrome 中删除、允许和管理 Cookie

您可以选择删除现有 Cooki…

8 小时 ago

自定义指令:聊聊vue中的自定义指令应用法则

今天我们来聊聊vue中的自定义…

1 周 ago

聊聊Vue中@click.stop和@click.prevent

一起来学下聊聊Vue中@cli…

2 周 ago

Nginx 基本操作:启动、停止、重启命令。

我们来学习Nginx基础操作:…

2 周 ago

Vue3:手动清理keep-alive组件缓存的方法

Vue3中手动清理keep-a…

3 周 ago

聊聊React和Vue组件更新的实现及区别

React 和 Vue 都是当…

4 周 ago