Arduino 简明教程
Arduino - Operators
运算符是一个符号,它告诉编译器执行特定的数学或逻辑函数。C 语言拥有丰富的内置运算符,并提供了以下类型的运算符 −
-
Arithmetic Operators
-
Comparison Operators
-
Boolean Operators
-
Bitwise Operators
-
Compound Operators
Arithmetic Operators
假设变量 A 保存 10,变量 B 保存 20,则 −
Operator name |
Operator simple |
Description |
Example |
assignment operator |
= |
将等号右侧的值保存到等号左侧变量中。 |
A = B |
addition |
+ |
Adds two operands |
A + B 会给出 30 |
subtraction |
- |
从第一个操作数中减去第二个操作数 |
A - B 会给出 -10 |
multiplication |
* |
Multiply both operands |
A * B 会给出 200 |
division |
/ |
Divide numerator by denominator |
B / A 会给出 2 |
modulo |
% |
模运算符,整数除法后的余数 |
B % A 会给出 0 |
Comparison Operators
假设变量 A 保存 10,变量 B 保存 20,则 −
Operator name |
Operator simple |
Description |
Example |
equal to |
== |
检查两个操作数的值是否相等,如果相等,则条件变为真。 |
(A == B) 为假 |
not equal to |
!= |
检查两个操作数的值是否相等,如果不相等,则条件变为真。 |
(A != B) 为真 |
less than |
< |
检查左操作数的值是否小于右操作数的值,如果小于,则条件变为真。 |
(A < B) 为真 |
greater than |
> |
检查左操作数的值是否大于右操作数的值,如果大于,则条件变为真。 |
(A > B) 不为真 |
小于或等于 |
⇐ |
检查左操作数的值是否小于或等于右操作数的值,如果小于或等于,则条件变为真。 |
(A ⇐ B) 为真 |
大于或等于 |
>= |
检查左操作数的值是否大于或等于右操作数的值,如果大于或等于,则条件变为真。 |
(A >= B) 不为真 |
Boolean Operators
假设变量 A 保存 10,变量 B 保存 20,则 −
Operator name |
Operator simple |
Description |
Example |
and |
&& |
称为逻辑 AND 运算符。如果两个操作数都是非零,则条件变为真。 |
(A && B) 为真 |
or |
|||
称为逻辑 OR 运算符。如果两个操作数中的任何一个是非零,则条件变为真。 |
(A |
B) is true |
|
not |
! |
称为逻辑 NOT 运算符。用于反转操作数的逻辑状态。如果条件为 true,则逻辑 NOT 运算符会将其变为 false。 |
!(A && B) 为假 |
Bitwise Operators
假设变量 A 保存 60,变量 B 保存 13,则 −
Operator name |
Operator simple |
Description |
Example |
and |
& |
二进制与运算符将位复制到结果中(如果它存在于两个操作数中)。 |
(A 和 B) 结果是 12,即 0000 1100 |
or |
如果二进制 OR 运算符在任一操作数中存在位,则复制该位 |
||
(A |
B) 结果是 61,即 0011 1101 |
xor |
^ |
二进制 XOR 运算符会在其中一个操作数中但不在两个操作数中都设置的情况下复制比特。 |
(A ^ B) 结果为 49,即 0011 0001 |
not |
~ |
二进制逻辑补运算符是单操作数运算符,它会“翻转”比特。 |
(~A ) 将得到 -60,即 1100 0011 |
shift left |
<< |
二进制左移运算符。左操作数的值会向左移动由右操作数指定的比特数。 |
A << 2 的结果是 240,即 1111 0000 |
shift right |
>> |
Compound Operators
假设变量 A 保存 10,变量 B 保存 20,则 −
Operator name |
Operator simple |
Description |
Example |
increment |
++ |
自增运算符,将整数加一 |
A++ will give 11 |
decrement |
— |
自减运算符,将整数减一 |
A-- will give 9 |
compound addition |
+= |
增加且赋值运算符。 它将右操作数添加到左操作数,并将其结果赋予左操作数 |
B = A 等同于 B = B A |
compound subtraction |
-= |
减去且赋值运算符。 它从左操作数中减去右操作数,并将其结果赋予左操作数 |
B -= A 等同于 B = B - A |
compound multiplication |
*= |
乘以且赋值运算符。 它将右操作数乘以左操作数,并将其结果赋予左操作数 |
B*= A 等同于 B = B* A |
compound division |
/= |
除以且赋值运算符。 它用右操作数除以左操作数,并将其结果赋予左操作数 |
B /= A 等同于 B = B / A |
compound modulo |
%= |
取余且赋值运算符。 它用两个操作数取模,并将其结果赋予左操作数 |
B %= A 等同于 B = B % A |
compound bitwise or |
= |
按位或且赋值运算符 |
|
A |
= 2 等同于 A = A |
2 |
compound bitwise and |