日本欧美一区-日本欧美一区二区三区片-日本强好片久久久久久AAA-日本-区一区二区三区A片-日本人伦一区二区三区-日本人妻A片成人免费看

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 基礎(chǔ)入門 >> Arduino開發(fā)學(xué)習(xí) >> 正文

Arduino-運(yùn)算符-系列4

作者:佚名    文章來源:網(wǎng)絡(luò)    點(diǎn)擊數(shù):    更新時間:2023/11/26

前面我們陸續(xù)介紹了Arduino的程序結(jié)構(gòu)、數(shù)據(jù)類型、常量和變量,本章介紹Arduino的運(yùn)算符,運(yùn)算符是一個特定的符號,它告訴計(jì)算機(jī)執(zhí)行特定的數(shù)學(xué)或邏輯運(yùn)算。在C語言中內(nèi)置了豐富的運(yùn)算符,包含以下類型:

  1. 算術(shù)運(yùn)算符
  2. 關(guān)系運(yùn)算符
  3. 邏輯運(yùn)算符
  4. 位運(yùn)算符
  5. 混合運(yùn)算符
microcomputer 

算術(shù)運(yùn)算符

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

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

再看一個實(shí)際例子:

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 //不計(jì)余數(shù),取整數(shù)商;
a % b = 1 //余數(shù)是1;

關(guān)系運(yùn)算符

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

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

看實(shí)際例子:

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;
}

輸出結(jié)果如下:

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

邏輯運(yùn)算符

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

  1. 邏輯與‘a(chǎn)nd’:“ && ”,如果兩個操作數(shù)都非零,則條件為真。如:A && B,結(jié)果為真;
  2. 邏輯或‘or’:“ || ”,如果兩個操作數(shù)中有一個非零,則條件為真。如:A || B,結(jié)果也為真;
  3. 邏輯非‘not’:“ ! ”,用于反轉(zhuǎn)操作數(shù)的邏輯狀態(tài)。如操作數(shù)的邏輯狀態(tài)條件為真,則邏輯非的結(jié)果為假。如:!(A&&B),因?yàn)锳 && B,結(jié)果為真,則邏輯非結(jié)果為假。

看一下實(shí)際例子:

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

位運(yùn)算符

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

  1. 按位與(&):讓參與運(yùn)算的兩個數(shù)相對應(yīng)的二進(jìn)制位相與。規(guī)則:只有對應(yīng)的兩個二進(jìn)制位都為1時,結(jié)果位才為1;只要有一個二進(jìn)制位為0,結(jié)果位就為0。如A&B,A對應(yīng)二進(jìn)制為 0011 1100 ;B對應(yīng)二進(jìn)制為 0000 1101 ,結(jié)果為12,對應(yīng)二進(jìn)制運(yùn)算結(jié)果為 0000 1100。
  2. 按位或(|):讓參與運(yùn)算的兩個數(shù)相對應(yīng)的的二進(jìn)制位相或。規(guī)則:只有對應(yīng)的兩個二進(jìn)制位都為0時,結(jié)果位才為0;只要有一個二進(jìn)制位為1,結(jié)果位就為1。如:A|B,結(jié)果對應(yīng)的二進(jìn)制位為 0011 1101,結(jié)果為61;
  3. 按位異或(^):讓參與運(yùn)算的兩個數(shù)相對應(yīng)的的二進(jìn)制位相異或。規(guī)則:當(dāng)對應(yīng)的兩個二進(jìn)制位相同(都為1或都為0)時,結(jié)果位為0;當(dāng)對應(yīng)的兩個二進(jìn)制位相異時,結(jié)果位為1。如A^B,結(jié)果對應(yīng)的二進(jìn)制位為00110001,結(jié)果為49;
  4. 取反(~):用于求整數(shù)的二進(jìn)制反碼。規(guī)則:二進(jìn)制位為1的取反后變?yōu)椋埃M(jìn)制位為0的取反后變?yōu)椋薄H纾簙A,結(jié)果二進(jìn)制為1100 0011;
  5. 左移運(yùn)算符(<<):規(guī)則:左操作數(shù)值由右操作數(shù)指定的位數(shù)向左移動,左邊“拋棄”,右邊補(bǔ)0。如:(A << 2)結(jié)果為 240, 二進(jìn)制為 1111 0000;
  6. 右移運(yùn)算符(>> ):左操作數(shù)值按右操作數(shù)指定的位數(shù)右移,左邊用0填充,右邊丟棄。如:(A >> 2) 結(jié)果為 15, 二進(jìn)制為 0000 1111。

看一些實(shí)際例子:

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

混合運(yùn)算符

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

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

看實(shí)際例子:

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

注解

單目運(yùn)算符:只對一個變量進(jìn)行操作。如:a++;
雙目運(yùn)算符:對兩個變量進(jìn)行操作。如:a=1; b=3; c=a+b;就是雙目運(yùn)算符;
多目運(yùn)算符:對三個變量進(jìn)行操作。如:int a = boolean ? b : c; 。
Tags:Arduino,運(yùn)算符,程序  
責(zé)任編輯:admin
相關(guān)文章列表
Arduino-時間函數(shù)-系列10
Arduino-字符串對象-系列9
Arduino-字符串 -系列8
Arduino-函數(shù)-系列7
Arduino-循環(huán)-系列6
Arduino-流程控制語句-系列5
Arduino-變量和常量-系列3
Arduino -數(shù)據(jù)類型-系列2
Arduino -程序結(jié)構(gòu)-系列1
ARDUINO UNO開發(fā)板介紹
Arduino開發(fā)語言基礎(chǔ)_Arduino語言基礎(chǔ)_arduino是用什么語言寫的?
Arduino新手入門詳細(xì)教程系列之【Ⅱ:Arduino編程環(huán)境配置】
如何設(shè)置Arduino IDE、連接開發(fā)板以及上傳第一個草圖
Arduino入門(一)Arduino下載安裝,超級詳解_Arduino download
Arduino概述,Arduino開發(fā)板和Arduino IDE
Arduino 交通燈_arduino紅綠燈代碼 三色LED燈
Arduino——RGB三色燈
Arduino控制RGB三色LED燈實(shí)驗(yàn)、程序代碼、連線圖、仿真_程序控制…
推薦 適用于Arduino平臺的編程開發(fā)工具(arduino編程軟件下載)
Arduino開發(fā)——基于HC-SR04測距的智能垃圾桶,超聲波測距
基于 Arduino 的 OLED 菜單顯示_arduino 菜單OLED顯示
Arduino提高篇06—溫濕度OLED顯示_arduino溫濕度oled顯示
Arduino入門怎么學(xué)_Arduino開發(fā)課程的教與學(xué)
總有一款適合你——Arduino開發(fā)板,各種開發(fā)板詳解
Arduino使用的單片機(jī) ATMEGA328P引腳定義圖
詳解Arduino Uno開發(fā)板的引腳分配圖及定義 引腳定義
Arduino 程序結(jié)構(gòu)
基于ATmega328的微控制器板原理圖 Arduino板UNO原理圖
Arduino 超詳細(xì)的開發(fā)入門指導(dǎo)
Arduino簡介
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網(wǎng)友評論
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢