Arduino - โอเปอเรเตอร์
ตัวดำเนินการคือสัญลักษณ์ที่บอกให้คอมไพเลอร์ทำหน้าที่ทางคณิตศาสตร์หรือตรรกะเฉพาะ ภาษา C อุดมไปด้วยตัวดำเนินการในตัวและมีตัวดำเนินการประเภทต่อไปนี้ -
- ตัวดำเนินการเลขคณิต
- ตัวดำเนินการเปรียบเทียบ
- ตัวดำเนินการบูลีน
- ตัวดำเนินการ Bitwise
- ตัวดำเนินการผสม
ตัวดำเนินการเลขคณิต
สมมติว่าตัวแปร A ถือ 10 และตัวแปร B ถือ 20 แล้ว -
แสดงตัวอย่าง
ชื่อผู้ดำเนินการ | ตัวดำเนินการที่เรียบง่าย | คำอธิบาย | ตัวอย่าง |
---|---|---|---|
ผู้ดำเนินการมอบหมาย | = | เก็บค่าไว้ทางขวาของเครื่องหมายเท่ากับในตัวแปรทางด้านซ้ายของเครื่องหมายเท่ากับ | ก = ข |
ส่วนที่เพิ่มเข้าไป | + | เพิ่มสองตัวถูกดำเนินการ | 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 แล้ว -
แสดงตัวอย่าง
ชื่อผู้ดำเนินการ | ตัวดำเนินการที่เรียบง่าย | คำอธิบาย | ตัวอย่าง |
---|---|---|---|
และ | && | เรียกว่าตัวดำเนินการ Logical AND หากตัวถูกดำเนินการทั้งสองไม่ใช่ศูนย์เงื่อนไขจะกลายเป็นจริง | (A && B) เป็นเรื่องจริง |
หรือ | || | เรียกว่า Logical OR Operator หากสองตัวถูกดำเนินการใด ๆ ไม่เป็นศูนย์เงื่อนไขจะกลายเป็นจริง | (A || B) เป็นจริง |
ไม่ | ! | เรียกว่า Logical NOT Operator ใช้เพื่อย้อนกลับสถานะตรรกะของตัวถูกดำเนินการ หากเงื่อนไขเป็นจริงตัวดำเนินการ Logical NOT จะสร้างเท็จ | ! (A && B) เป็นเท็จ |
ตัวดำเนินการ Bitwise
สมมติตัวแปร A ถือ 60 และตัวแปร B ถือ 13 แล้ว -
แสดงตัวอย่าง
ชื่อผู้ดำเนินการ | ตัวดำเนินการที่เรียบง่าย | คำอธิบาย | ตัวอย่าง |
---|---|---|---|
และ | & | ไบนารี AND Operator จะคัดลอกบิตไปยังผลลัพธ์หากมีอยู่ในตัวถูกดำเนินการทั้งสอง | (A & B) จะให้ 12 ซึ่งเท่ากับ 0000 1100 |
หรือ | | | ไบนารีหรือตัวดำเนินการจะคัดลอกบิตหากมีอยู่ในตัวถูกดำเนินการอย่างใดอย่างหนึ่ง | (A | B) จะให้ 61 ซึ่งก็คือ 0011 1101 |
xor | ^ | ตัวดำเนินการ XOR ไบนารีจะคัดลอกบิตหากตั้งค่าไว้ในตัวถูกดำเนินการเดียว แต่ไม่ใช่ทั้งสองอย่าง | (A ^ B) จะให้ 49 ซึ่งก็คือ 0011 0001 |
ไม่ | ~ | Binary Ones Complement Operator เป็นเอกภาพและมีผลของบิต 'พลิก' | (~ A) จะให้ -60 ซึ่งก็คือ 1100 0011 |
เลื่อนไปทางซ้าย | << | ตัวดำเนินการกะซ้ายแบบไบนารี ค่าตัวถูกดำเนินการด้านซ้ายจะถูกย้ายไปทางซ้ายตามจำนวนบิตที่ระบุโดยตัวถูกดำเนินการด้านขวา | A << 2 จะให้ 240 ซึ่งก็คือ 1111 0000 |
เลื่อนไปทางขวา | >> | ตัวดำเนินการกะไบนารีขวา ค่าตัวถูกดำเนินการด้านซ้ายจะถูกย้ายไปทางขวาตามจำนวนบิตที่ระบุโดยตัวถูกดำเนินการด้านขวา | A >> 2 จะให้ 15 ซึ่งก็คือ 0000 1111 |
ตัวดำเนินการผสม
สมมติว่าตัวแปร A ถือ 10 และตัวแปร B ถือ 20 แล้ว -
แสดงตัวอย่าง
ชื่อผู้ดำเนินการ | ตัวดำเนินการที่เรียบง่าย | คำอธิบาย | ตัวอย่าง |
---|---|---|---|
เพิ่มขึ้น | ++ | ตัวดำเนินการที่เพิ่มขึ้นเพิ่มค่าจำนวนเต็มทีละตัว | A ++ จะให้ 11 |
ลดลง | - | ตัวดำเนินการลดลงลดค่าจำนวนเต็มทีละหนึ่ง | 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 |
สารประกอบในระดับบิตและ | & = | ตัวดำเนินการกำหนด Bitwise AND | A & = 2 เหมือนกับ A = A & 2 |