Arduino Tutorial (Part 08): Toán tử

arduino316

Một operator (toán tử) là một ký tự báo cho compiler để thực thi các phép toán đặc biệt hoặc các hàm logical. Ngôn ngữ C mạnh với các phép toán tử và nó cung cấp những loại sau

  • Toán tử số học (arithmetic operators)
  • Toán tử so sánh (Comparison Operators)
  • Toán tử Boolean
  • Toán tử logic bit (Bitwise Operators)
  • Toán tử phức (Compound Operators)

Toán tử Số học

Giả sử biến A bằng 10 và biến B bằng 20

Tên toán tử Ký hiệu Mô tả Ví dụ
Toán tử gán = Lưu trữ giá trị của vế phải vào biến vế trái A = B
Cộng + Cộng hai hạng số A + B sẽ  là 30
Trừ Số hạng thứ nhất trừ đi số hạng thứ hai A – B sẽ là -10
Nhân * Nhân hai số hạng A * B sẽ là 200
Chia / Số hạng thứ nhất chia cho số hạng thứ hai B / A sẽ là 2
Chia lấy dư (modulo) % Là số dư của phép chia số thứ nhất cho số thứ hai B % A sẽ là 0

Toán tử So Sánh

Giả sử  biến A bằng 10 và biến B bằng 20

Tên toán tử Ký hiệu Mô tả Ví dụ
So sánh bằng == Kiểm tra hai đối số có bằng nhau không, nếu bằng thì là true (A == B) là false
So sánh không bằng != Kiểm tra hai đối số có khác nhau không, nếu khác nhau thì là true (A != B) là true
Nhỏ hơn < Kiểm tra nếu giá trị của toán tử bên trái nhỏ hơn giá trị bên phải không, nếu đúng thì là true (A < B) là true
Lớn hơn > Kiểm tra nếu giá trị của toán tử bên trái lớn hơn giá trị bên phải không, nếu đúng thì là true (A > B) là false
Nhỏ hơn hoặc bằng <= Kiểm tra nếu giá trị của toán tử bên trái nhỏ hơn hoặc bằng giá trị bên phải không, nếu đúng thì là true (A <= B) là true
Lớn hơn hoặc bằng >= Kiểm tra nếu giá trị của toán tử bên trái lớn hơn hoặc bằng giá trị bên phải không, nếu đúng thì là true (A >= B) is not true

Toán tử Boolean

Giả sử  biến A bằng 10 và biến B bằng 20

Tên toán tử Ký hiệu Mô tả Ví dụ
and && Gọi là toán tử logical AND. Nếu cả hai số hạng đều khác không, kết quả là true (A && B) là true
or || Gọi là toán tử logical OR. Nếu bất kỳ số hạng đều khác không, kết quả là true (A || B) là true
not ! Gọi là toán tử logical NOT. Dùng để đảo giá trị logic của số hạng. Nếu số hạng là true (hoặc khác 0) thì kết quả là false và ngược lại !(A && B) là false

Toán tử Bitwise Operators

Giả sử  biến A bằng 10 và biến B bằng 20

Tên toán tử Ký hiệu Mô tả Ví dụ
and & Toán tử Binary AND cho từng bit của hai toán hạng (A & B) sẽ là 12 ( 0000 1100)
or | Toán tử Binary OR cho từng bit của hai toán hạng (A | B) sẽ là 61 ( 0011 1101)
xor ^ Toán tử Binary XOR cho từng bit của hai toán hạng (A ^ B) sẽ là 49 ( 0011 0001)
not ~ Toán tử đảo giá trị cho từng bit của hai toán hạng (~A ) sẽ là -60 ( 1100 0011)
shift left << Toán tử dịch trái. Toán hạng phía bên trái sẽ được dịch qua trái số bit bằng với giá trị toán hạng bên phải A << 2 sẽ là 240 (1111 0000)
shift right >> Toán tử dịch phải. Toán hạng phía bên trái sẽ được dịch qua phải số bit bằng với giá trị toán hạng bên phải A >> 2 sẽ là 15 (0000 1111)

Toán tử phức

Giả sử  biến A bằng 10 và biến B bằng 20

Tên toán tử Ký hiệu Mô tả Ví dụ
increment ++ Tăng giá trị của một số nguyên lên 1 A++ sẽ là 11
decrement Giảm giá trị của một số nguyên xuống 1 A– sẽ là 9
compound addition += Toán tử cộng và gán. Cộng toán hạng bên trái với bên phải, sau đó gán kết quả vào toán hạng bên trái. B += A tương đương B = B+ A
compound subtraction -= Toán tử trừ và gán. Trừ toán hạng bên trái với bên phải, sau đó gán kết quả vào toán hạng bên trái. B -= A tương đương B = B – A
compound multiplication *= Toán tử nhân và gán. Nhân toán hạng bên trái với bên phải, sau đó gán kết quả vào toán hạng bên trái. B*= A tương đương B = B* A
compound division /= Toán tử chia và gán. Chia toán hạng bên trái với bên phải, sau đó gán kết quả vào toán hạng bên trái. B /= A tương đương B = B / A
compound modulo %= Toán tử chia lấy dư và gán. Chia lấy dư toán hạng bên trái với bên phải, sau đó gán kết quả vào toán hạng bên trái. B %= A tương đương B = B % A
compound bitwise or |= Toán tử OR từng bit và gán. OR từng bit của toán hạng bên trái với bên phải, sau đó gán kết quả vào toán hạng bên trái. A |= 2 tương đương A = A | 2
compound bitwise and &= Toán tử AND từng bit và gán. AND từng bit của toán hạng bên trái với bên phải, sau đó gán kết quả vào toán hạng bên trái. A &= 2 tương đương A = A & 2

 

Các bài cùng tutorial

Bài 01: Giới thiệu
Bài 02: Tổng quan
Bài 03: Arduino Board
Bài 04: Arduino IDE
Bài 05: Cấu Trúc Chương Trình
Bài 06: Data Types
Bài 07: Biến & Hằng số
Bài 08: Toán tử
Bài 09: Control Statements
Bài 10: Vòng lặp
Bài 11: Functions
Bài 12: Strings
Bài 13: String Object
Bài 14: Time
Bài 15: Arrays

Nguồn: tutorialspoint.com

Comments

linhkienbachkhoa

Comments