<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發網

      電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
      搜索: 您現在的位置: 電子開發網 >> 基礎入門 >> Arduino開發學習 >> 正文

      Arduino-運算符-系列4

      作者:佚名    文章來源:網絡    點擊數:    更新時間:2023/11/26

      前面我們陸續介紹了Arduino的程序結構、數據類型、常量和變量,本章介紹Arduino的運算符,運算符是一個特定的符號,它告訴計算機執行特定的數學或邏輯運算。在C語言中內置了豐富的運算符,包含以下類型:

      1. 算術運算符
      2. 關系運算符
      3. 邏輯運算符
      4. 位運算符
      5. 混合運算符
      microcomputer 

      算術運算符

      算術運算符也就是常見的加減乘除、賦值運算和模數運算,詳細了解一下,我們先假設變量A的值是10,變量B的值是20:

      1. 賦值運算符:“ = ”,表示將等號右邊的值存儲在等號左邊的變量中。如:A=B。這里注意不能理解為等于符號。
      2. 加法運算符:“ + ”,表示兩個操作數相加。如:A+B,將會得到30。
      3. 減法運算符:“ – ”,表示兩個操作數相減。如:A-B,將會得到-10。
      4. 乘法運算符:“ * ”,表示兩個操作數相乘。如:A*B,將會得到200。
      5. 除法運算符:“ / ”,表示兩個操作數相除。如:B/A,將會得到2。
      6. 模數運算符:“ % ”,表示求整數除法中的余數。如:B%A,將得到0。

      再看一個實際例子:

      void loop () {
      int a = 9,b = 4,c;
      c = a + b;
      c = a - b;
      c = a * b;
      c = a / b;
      c = a % b;
      }
      /*代碼將輸出:*/
      a + b = 13
      a - b = 5
      a * b = 36
      a / b = 2 //不計余數,取整數商;
      a % b = 1 //余數是1;

      關系運算符

      關系運算符在C語言中主要起判斷的作用。同樣的,我們先假設變量A的值是10,變量B的值是20:

      1. 等于:“ == ” ,判斷兩個操作數的值是否相等,如果是,則條件為真。如:A == B,結果不為真,會返回 false;
      2. 不等于:“ != ”,判斷兩個操作數的值是否相等,如果值不相等,則條件為真。如:A != B,結果為真,會返回 true;
      3. 小于:“ < ”,判斷符號左邊操作數的值是否小于右邊操作數的值,如果是,則條件為真。如A < B,結果為真,會返回 true;
      4. 大于:“ > ”,判斷符號左邊操作數的值是否大于右邊操作數的值,如果是,則條件為真。如A > B,結果不為真,會返回 false;
      5. 小于等于 :“ <= ”,判斷符號左邊操作數的值是否小于或等于右邊操作數的值,如果是,則條件為真。如A <= B,結果為真,會返回 true;
      6. 大于等于:“ >= ”, 判斷符號左邊操作數的值是否大于或等于右邊操作數的值,如果是,則條件為真。 如A >= B,結果不為真,會返回 false;

      看實際例子:

      void loop () { 
      int a = 9,b = 4
      bool c = false;
      if(a == b)
      c = true;
      else
      c = false;
      if(a != b)
      c = true;
      else
      c = false;
      if(a < b)
      c = true;
      else
      c = false;
      if(a > b)
      c = true;
      else
      c = false;
      if(a <= b)
      c = true;
      else
      c = false;
      if(a >= b)
      c = true;
      else
      c = false;
      }

      輸出結果如下:

      c = false
      c = true
      c = false
      c = true
      c = false
      c = false

      邏輯運算符

      同樣的,我們先通過假設變量A的值是10,變量B的值是20:

      1. 邏輯與‘and’:“ && ”,如果兩個操作數都非零,則條件為真。如:A && B,結果為真;
      2. 邏輯或‘or’:“ || ”,如果兩個操作數中有一個非零,則條件為真。如:A || B,結果也為真;
      3. 邏輯非‘not’:“ ! ”,用于反轉操作數的邏輯狀態。如操作數的邏輯狀態條件為真,則邏輯非的結果為假。如:!(A&&B),因為A && B,結果為真,則邏輯非結果為假。

      看一下實際例子:

      void loop () {
      int a = 9,b = 4
      bool c = false;
      if((a > b)&& (b < a))
      c = true;
      else
      c = false;
      if((a == b)|| (b < a))
      c = true;
      else
      c = false;
      if( !(a == b)&& (b < a))
      c = true;
      else
      c = false;
      }

      輸出:

      c = true
      c = true
      c = true

      位運算符

      Arduino中的位運算符包括:按位與(&)、按位或(|)、按位異或(^)、取反(~),它們的運算對象都必須為整數,而且除了取反運算符,其余三種均為雙目運算符(見文末注解)。當然Arduino中還包括左移運算符(<<)和右移運算符(>> )。老慣例,假設變量A的值是60(二進制0011 1100),變量B的值是13(二進制0000 1101):

      1. 按位與(&):讓參與運算的兩個數相對應的二進制位相與。規則:只有對應的兩個二進制位都為1時,結果位才為1;只要有一個二進制位為0,結果位就為0。如A&B,A對應二進制為 0011 1100 ;B對應二進制為 0000 1101 ,結果為12,對應二進制運算結果為 0000 1100。
      2. 按位或(|):讓參與運算的兩個數相對應的的二進制位相或。規則:只有對應的兩個二進制位都為0時,結果位才為0;只要有一個二進制位為1,結果位就為1。如:A|B,結果對應的二進制位為 0011 1101,結果為61;
      3. 按位異或(^):讓參與運算的兩個數相對應的的二進制位相異或。規則:當對應的兩個二進制位相同(都為1或都為0)時,結果位為0;當對應的兩個二進制位相異時,結果位為1。如A^B,結果對應的二進制位為00110001,結果為49;
      4. 取反(~):用于求整數的二進制反碼。規則:二進制位為1的取反后變為0,二進制位為0的取反后變為1。如:~A,結果二進制為1100 0011;
      5. 左移運算符(<<):規則:左操作數值由右操作數指定的位數向左移動,左邊“拋棄”,右邊補0。如:(A << 2)結果為 240, 二進制為 1111 0000;
      6. 右移運算符(>> ):左操作數值按右操作數指定的位數右移,左邊用0填充,右邊丟棄。如:(A >> 2) 結果為 15, 二進制為 0000 1111。

      看一些實際例子:

      void loop () {
      int a = 60,b = 13
      int c = 0;
      c = a & b ;
      c = a | b ;
      c = a ^ b ;
      c = a ~ b ;
      c = a << b ;
      c = a >> b ; 
      }

      輸出:

      c = 12
      c = 61
      c = 49
      c = -60
      c = 240
      c = 15

      混合運算符

      我們還是以實際例子來幫助理解,假設變量A的值是10,變量B的值是20:

      1. “++”:增量運算符,將整數值增加1。如:A++,結果為11;
      2. “–”: 遞減運算符,使整數值減少1 。如:A–,結果為9;
      3. “+=”:將右操作數添加到左操作數并將結果分配給左操作數。如:B += A,等價于B = B+ A;
      4. “-=”:將左操作數減去右操作數并將結果賦給左操作數。如:B -= A等價于B = B – A;
      5. “*=”:將右操作數與左操作數相乘,并將結果賦給左操作數。如:B*= A等價于B = B*A;
      6. “/=”:將左操作數與右操作數分開,并將結果分配給左操作數。如:B /= A等價于B = B / A;
      7. “%=”:對兩個操作數取模,并將結果賦給左操作數。如:B %= A等價于B = B % A。

      看實際例子:

      void loop () {
      int a = 10,b = 20
      int c = 0;
      a++;
      a--;
      b += a;
      b -= a;
      b *= a;
      b /= a;
      a %= b;
      a |= b;
      a &= b;
      }

      輸出為:

      a = 11
      a = 9
      b = 30
      b = 10
      b = 200
      b = 2
      a = 0
      a = 0
      a = 30

      注解

      單目運算符:只對一個變量進行操作。如:a++;
      雙目運算符:對兩個變量進行操作。如:a=1; b=3; c=a+b;就是雙目運算符;
      多目運算符:對三個變量進行操作。如:int a = boolean ? b : c; 。
      Tags:Arduino,運算符,程序  
      責任編輯:admin
      請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個字
      [ 查看全部 ] 網友評論
      關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 久久综合图区亚洲综合图区| 69国产成人综合久久精品| 色偷偷亚洲第一综合| 国产亚洲综合视频| 一本大道AV伊人久久综合| 亚洲综合色自拍一区| 久久五月天综合网| 狠狠色噜噜狠狠狠狠狠色综合久久| 91探花国产综合在线精品| 狠狠夜色午夜久久综合热91| 亚洲国产综合91精品麻豆| 亚州AV综合色区无码一区| 久久精品亚洲综合一品| 国产成人综合亚洲绿色| 伊人色综合久久天天五月婷| 综合三区后入内射国产馆| 色噜噜狠狠色综合成人网| 国产综合精品女在线观看| 亚洲国产精品综合久久网络| 亚洲欧洲av综合色无码| 色综合色综合色综合色综合网| 色爱区综合激情五月综合激情| 丁香六月纪婷婷激情综合| 色婷婷久久综合中文网站| 伊人色综合视频一区二区三区 | 伊人久久大香线蕉综合爱婷婷| 伊人色综合网一区二区三区| 99久久国产综合精品1尤物| 色欲天天天综合网| 亚洲综合激情另类小说区| 色噜噜狠狠成人中文综合| 色欲天天天综合网| 色综合天天综合中文网| 久久精品水蜜桃av综合天堂| 久久五月天综合网| 精品综合久久久久久99| 色婷婷色综合激情国产日韩| 九九综合VA免费看| 99久久国产综合精品2020| 国产成人综合久久精品下载 | 色综合久久久久久久久久 |