Trong C++, toán tử là các ký hiệu dùng để thực hiện các phép toán với biến.
Toán tử số học
Toán tử số học dùng để thực hiện các phép toán cơ bản như:
+: Cộng, tính tổng của hai số.
-: Trừ, lấy hiệu của hai số.
*: Nhân, tìm tích của hai số.
/: Chia, lấy thương của số thứ nhất chia cho số thứ hai.
%: Chia lấy phần dư, lấy phần dư sau dấu phẩy của thương.
Ví dụ:
int a = 10; int b = 2; cout << "Tổng: " << (a + b) << endl; // 10 + 2 = 12 cout << "Hiệu: " << (a - b) << endl; // 10 - 2 = 8 cout << "Tích: " << (a * b) << endl; // 10 x 2 = 20 cout << "Thương: " << (a / b) << endl; // 10 ÷ 2 = 5 cout << "Phần dư: " << (a % b) << endl; // 10 ÷ 2 = 0
đối với phép chia / giữa số nguyên, C++ chỉ lấy phần nguyên của kết quả.
int a = 7; int b = 3; cout << (a / b) << endl; // kết quả trả về 3
Khi làm việc với số thực (float hoặc double), phép chia sẽ trả về giá trị đây đủ của kết quả, bao gồm cả phần thập phân phía sau
float x = 10.0; float y = 3.0; cout << (x / y) << endl; // kết quả trả về 3.33333
phép chia lấy dư % sẽ trả về phần thập phân phía sau của kết quả.
int a = 5; int b = 2; cout << (a % b) << endl; // Kết quả là 2.5 // Vì là lấy phần dư nên kết quả trả về là 5
Toán tử so sánh
Toán tử so sánh trong C++ được dùng để so sánh hai giá trị, rồi trả về kết quả là true hoặc fasle.
==: So sánh bằng, kiểm tra xem hai giá trị có bằng nhau không.
!=: Khác nhau, kiểm tra xem hai giá trị có khác nhau không.
>: Lớn hơn, kiểm tra xem giá trị số bên trái có lớn hơn số bên phải không.
<: Bé hơn, kiểm tra xem giá trị số bên trái có bé hơn số bên phải không.
>=: Lớn hơn hoặc bằng, kiểm tra xem giá trị số bên trái có hơn hoặc bằng số bên phải không.
<=: Bé hơn hoặc bằng, kiểm tra xem giá trị của số bên trái có bé hơn hoặc bằng số bên phải không.
Ví dụ:
int x = 5; int y = 10; cout << (x > y) << endl; // Kết quả: 0 (false) cout << (x < y) << endl; // Kết quả: 1 (true)
Kết quả của toán tử so sánh luôn là kiểu dữ liệu bool (là true hoặc false), toán tử so sánh thường được sử dụng trong các câu lệnh điều kiện.
Toán tử logic
Toán tử logic được dùng để kiểm tra điều kiện và kết hợp các điều kiện lại với nhau, kết quả của toán tử logic luôn là kiểubool trả về là true hoặc false.
&&: toán tử AND, trả về kết quả là true khi cả hai điều kiện đều đúng, nếu một trong hai điều kiện sai thì sẽ trả về false.
||: toán tử OR, trả về kết quả là true khi ít nhất một trong hai điều kiện là đúng.
!: toán tử NOT, đảo ngược lại giá trị của điều kiện, nếu điều kiện là true thì kết quả trả về là false và ngược lại.
Ví dụ toán tử AND:
bool x = true; bool y = false; cout << (x && y) << endl; // Kết quả là false cout << (x || y) << endl; // Kết quả là true cout << (!y) << endl; // Kết quả là true
Ứng dụng của toán tử logic dùng trong Kiểm tra nhiều điều kiện cùng lúc, tối ưu hóa điều kiện trong vòng lặp, xây dựng các thuật toán kiểm tra trạng thái.
Toán tử gán
Toán tử gán trong C++ được sử dụng để gán giá trị cho biến, ngoài ra toán tử gán còn có thể sử dụng kết hợp với phép toán và gán kết quả cùng một lúc.
=: phép gán cơ bản, dùng để gán giá trị cho một biến.
+=: phép cộng rồi gán, dùng để tăng giá trị cho biến.
-=: phép trừ rồi gán, dùng để giảm giá trị của biến.
*=: phép nhân rồi gán, nhân giá trị của biến lên.
/=: phép chia rồi gán, chia giá trị của biến.
%=: phép lấy dư rồi gán, chia giá trị của của biến, rồi lấy phần dư gán vào biến.
Ví dụ:
int a = 5; // Gián giá trị 5 cho biến a a += 3; // Tương đương với a = a + 3; Kết quả: a = 8 a -= 2; // Tương đương với a = a - 3; Kết quả: a = 6 a *= 4; // Tương đương với a = a * 4: Kết quả: a = 24 a /= 2; // Tương đương với a = a / 2: Kết quả: a = 12 a %= 5; // Tương đương với a = a % 5: Kết quả: a = 2
Toán tử gán kết hợp giúp cho đoạn code ngắn gọn và dễ đọc hơn.
Toán tử bitwise
Toán tử Bitwise là nhóm toán tử dùng để thao tác trực tiếp trên các bit của dữ liệu nhị phân, toán tử này thường được sử dụng trong các ứng dụng đòi hỏi hiệu suất cao hoặc thao tác trực tiếp với phần cứng.
&: Gọi là AND bit, đặt bit về 1 nếu cả hai bít tương ứng đều là 1, ngược lại thì là 0.
|: Gọi là OR bit, đặt bit về 1 nếu một trong hai bit là 1, nếu cả hai bit đều là 0 thì sẽ đặt bit về 0.
^: Gọi là XOR bit, đặt bit về 1 nếu hai bit khác nhau, ngược lại thì là 0.
~: Đảo bit NOT, đảo ngược toàn bộ bit 0 thành 1 và ngược lại.
<<: Dịch trái, dịch tất cả bit sang trái và thêm 0 vào cuối.
>>: Dịch phải, dịch tất cả bit sang phải, và loại bỏ bit cuối cùng.
Ví dụ:
int a = 5; // 0101 (nhị phân) int b = 3; // 0011 (nhị phân) cout << "AND: " << (a & b) << endl; // Kết quả: 1 cout << "OR: " << (a | b) << endl; // Kết quả: 0111 (7) cout << "XOR: " << (a ^ b) << endl; // Kết quả: 0110 (6) cout << "NOT: " << (~a) << endl; // Kết quả: -6 cout << "Dịch trái: " << (a << 1) << endl; // Kết quả: 1010 (10) cout << "Dịch phải: " << (a >> 1) << endl; // Kết quả: 0010 (2)
Ứng dụng của thuật toán bitwise:
-Tối ưu hiệu suất: Thao tác trên bit nhanh hơn so với các phép toán số học thông thường.
-Quản lý quyền truy cập: Dùng bit để lưu trạng thái (bật / tắt) trong hệ thống.
-Xử lý đồ họa và dữ liệu: Dùng trong các thuật toán nén dữ liệu hoặc xử lý hình ảnh.
-Mã hóa và bảo mật: Sử dụng XOR để mã hóa dữ liệu một các đơn giản.
Toán tử điều kiện
Toán tử điều kiện, hay còn gọi là toán tử ba ngôi, nó là một cách ngắn gọn để viết câu lệnh điều kiện. Nó giúp code trở nên súc tích hơn, nhất là khi chỉ có một biều thức cần kiểm tra.
Cú pháp câu điều kiện:
(condition) ? value_if_true : value_if_false;
condition: Biểu thức điều kiện.
value_if_true: Giá trị trả về nếu điều kiện đúng.
value_if_false: Giá trị trả về nếu điều kiện sai.
Ví dụ về toán tử điều kiện:
int a = 10; int b = 20; int max = (a > b) ? a : b; // Nếu a lớn hơn b thì max = a, không thì ngược lại. // Kết quả: max = b
Ưu điểm của nó là ngắn gọn, dễ đọc. Nhưng nhược điểm là khó hiểu và không thể hoàn toàn thay thế cho hàm xử lý điều kiện được.
Kết bài
Toán tử trong C++ là một phần không thể thiếu, cho phép bạn thực hiện các phép toán, so sánh, kiểm tra điều kiện, và nhiều thao tác khác trên dữ liệu.
Toán tử số học: Thực hiện các phép tính cơ bản như cộng, trừ, nhân, chia và lấy phần dư, đóng vai trò nền tảng trong lập trình.
Toán tử so sánh: Giúp so sánh các giá trị và xác định mối quan hệ giữa chúng, trả về kết quả true hoặc false.
Toán tử logic: Cho phép kết hợp và xử lý nhiều điều kiện, thường được sử dụng trong các câu lệnh điều kiện.
Toán tử gán: Đơn giản hóa việc gán giá trị cho biến, đặc biệt khi kết hợp với các phép toán số học.
Toán tử bitwise: Thao tác trực tiếp trên các bit của dữ liệu, cực kỳ hữu ích trong xử lý nhị phân, tối ưu hiệu suất, và các ứng dụng liên quan đến mã hóa dữ liệu.
Toán tử điều kiện (?:): Giúp viết câu lệnh điều kiện ngắn gọn hơn, tăng tính súc tích cho mã nguồn.
Mỗi loại toán tử đều có vai trò cụ thể và ý nghĩa riêng trong việc xử lý dữ liệu và xây dựng thuật toán. Hiểu rõ và sử dụng chúng một cách hiệu quả sẽ giúp bạn viết mã nguồn tối ưu, dễ đọc và sáng tạo hơn trong lập trình.

Nhận xét
Đăng nhận xét