手册教程~

Arduino 运算符

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

  • 算术运算符

  • 比较运算符


  • 布尔操作符

  • 按位运算符

  • 复合运算符

算术运算符

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

Show Example

Operator nameOperator simpleDescriptionExample
assignment operator=Stores the value to the right of the equal sign in the variable to the left of the equal sign.A = B
addition+Adds two operandsA + B will give 30
subtraction-Subtracts second operand from the firstA - B will give -10
multiplication*Multiply both operandsA * B will give 200
division/Divide numerator by denominatorB / A will give 2
modulo%Modulus Operator and remainder of after an integer divisionB % A will give 0


Comparison Operators

Assume variable A holds 10 and variable B holds 20 then −

Show Example

Operator nameOperator simpleDescriptionExample
equal to==Checks if the value of two operands is equal or not, if yes then condition becomes true.(A == B) is not true
not equal to!=Checks if the value of two operands is equal or not, if values are not equal then condition becomes true.(A != B) is true
less than<Checks if the value of left operand is less than the value of right operand, if yes then condition becomes true.(A < B) is true
greater than>Checks if the value of left operand is greater than the value of right operand, if yes then condition becomes true.(A > B) is not true
less than or equal to<=Checks if the value of left operand is less than or equal to the value of right operand, if yes then condition becomes true.(A <= B) is true
greater than or equal to>=Checks if the value of left operand is greater than or equal to the value of right operand, if yes then condition becomes true.(A >= B) is not true


Boolean Operators

Assume variable A holds 10 and variable B holds 20 then −

Show Example

Operator nameOperator simpleDescriptionExample
and&&Called Logical AND operator. If both the operands are non-zero then then condition becomes true.(A && B) is true
or||Called Logical OR Operator. If any of the two operands is non-zero then then condition becomes true.(A || B) is true
not!Called Logical NOT Operator. Use to reverses the logical state of its operand. If a condition is true then Logical NOT operator will make false.!(A && B) is false


Bitwise Operators

Assume variable A holds 60 and variable B holds 13 then −

Show Example

Operator nameOperator simpleDescriptionExample
and&Binary AND Operator copies a bit to the result if it exists in both operands.(A & B) will give 12 which is 0000 1100
or|Binary OR Operator copies a bit if it exists in either operand(A | B) will give 61 which is 0011 1101
xor^Binary XOR Operator copies the bit if it is set in one operand but not both.(A ^ B) will give 49 which is 0011 0001
not~Binary Ones Complement Operator is unary and has the effect of 'flipping' bits.(~A ) will give -60 which is 1100 0011
shift left<<Binary Left Shift Operator. The left operands value is moved left by the number of bits specified by the right operand.A << 2 will give 240 which is 1111 0000
shift right>>Binary Right Shift Operator. The left operands value is moved right by the number of bits specified by the right operand.A >> 2 will give 15 which is 0000 1111


Compound Operators

Assume variable A holds 10 and variable B holds 20 then −

Show Example

Operator nameOperator simpleDescriptionExample
increment++Increment operator, increases integer value by oneA++ will give 11
decrement--Decrement operator, decreases integer value by oneA-- will give 9
compound addition+=Add AND assignment operator. It adds right operand to the left operand and assign the result to left operandB += A is equivalent to B = B+ A
compound subtraction-=Subtract AND assignment operator. It subtracts right operand from the left operand and assign the result to left operandB -= A is equivalent to B = B - A
compound multiplication*=Multiply AND assignment operator. It multiplies right operand with the left operand and assign the result to left operandB*= A is equivalent to B = B* A
compound division/=Divide AND assignment operator. It divides left operand with the right operand and assign the result to left operandB /= A is equivalent to B = B / A
compound modulo%=Modulus AND assignment operator. It takes modulus using two operands and assign the result to left operandB %= A is equivalent to B = B % A
compound bitwise or|=bitwise inclusive OR and assignment operatorA |= 2 is same as A = A | 2
compound bitwise and&=Bitwise AND assignment operatorA &= 2 is same as A = A & 2