Arduino - 運算子



運算子是一個符號,它告訴編譯器執行特定的數學或邏輯函式。C 語言富含內建運算子,並提供以下型別的運算子:

  • 算術運算子
  • 比較運算子
  • 布林運算子
  • 位運算子
  • 複合運算子

算術運算子

假設變數 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,則:

顯示示例

運算子名稱 運算子簡寫 描述 示例
等於 == 檢查兩個運算元的值是否相等,如果相等則條件為真。 (A == B) 為假
不等於 != 檢查兩個運算元的值是否相等,如果不相等則條件為真。 (A != B) 為真
小於 < 檢查左側運算元的值是否小於右側運算元的值,如果是則條件為真。 (A < B) 為真
大於 > 檢查左側運算元的值是否大於右側運算元的值,如果是則條件為真。 (A > B) 為假
小於或等於 <= 檢查左側運算元的值是否小於或等於右側運算元的值,如果是則條件為真。 (A <= B) 為真
大於或等於 >= 檢查左側運算元的值是否大於或等於右側運算元的值,如果是則條件為真。 (A >= B) 為假

布林運算子

假設變數 A 包含 10,變數 B 包含 20,則:

顯示示例

運算子名稱 運算子簡寫 描述 示例
&& 稱為邏輯與運算子。如果兩個運算元均不為零,則條件為真。 (A && B) 為真
|| 稱為邏輯或運算子。如果兩個運算元中任何一個不為零,則條件為真。 (A || B) 為真
! 稱為邏輯非運算子。用於反轉其運算元的邏輯狀態。如果條件為真,則邏輯非運算子將使其為假。 !(A && B) 為假

位運算子

假設變數 A 包含 60,變數 B 包含 13,則:

顯示示例

運算子名稱 運算子簡寫 描述 示例
& 二進位制與運算子複製存在於兩個運算元中的位到結果中。 (A & B) 將得到 12,即 0000 1100
| 二進位制或運算子複製存在於任何一個運算元中的位。 (A | B) 將得到 61,即 0011 1101
異或 ^ 二進位制異或運算子複製僅在一個運算元中設定的位。 (A ^ B) 將得到 49,即 0011 0001
~ 二進位制取反運算子是一元的,其作用是“翻轉”位。 (~A ) 將得到 -60,即 1100 0011
左移 << 二進位制左移運算子。左側運算元的值向左移動右側運算元指定的位數。 A << 2 將得到 240,即 1111 0000
右移 >> 二進位制右移運算子。左側運算元的值向右移動右側運算元指定的位數。 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
廣告