Toán tử modulo
Thuộc phần Kiến thức nền tảng trong hành trình C# của Coddy. Bài học 16 trên 69.
Toán tử modulo % cho biết số dư của phép chia. Trong C#, toán tử này có cú pháp đơn giản:
result = dividend % divisor;- dividend: Số bị chia.
- divisor: Số chia.
- result: Số dư của phép chia.
Ví dụ:
result = 10 % 3;Ở đây, 10 được chia cho 3. 3 chia 10 được ba lần, dư 1. Vậy result sẽ bằng 1.
Toán tử modulo thường được dùng để kiểm tra một số là chẵn hay lẻ:
- Nếu một số chẵn, chia số đó cho 2 sẽ có số dư bằng 0.
- Nếu một số lẻ, chia số đó cho 2 sẽ có số dư bằng 1, hoặc -1 nếu số đó âm (số dư mang dấu của số bị chia). Để kiểm tra một số lẻ, hãy dùng
number % 2 != 0.
Khi dùng phép chia lấy dư với số dấu phẩy động (số thực double), phép tính hoạt động giống như với số nguyên và cho kết quả là một số double. Ví dụ:
double result = 5.2 % 2.0;
// result xấp xỉ 1.2Cách hoạt động như sau: 2.0 chia vào 5.2 được hai lần (4.0), phần dư là 1.2 (5.2 - 4.0 = 1.2). Kiểu double không thể lưu chính xác 5.2, vì vậy result thực sự chứa 1.2000000000000002, rất gần với 1.2 nhưng không bằng nó.
Một ví dụ khác:
double result = 7.8 % 3.5;
// result xấp xỉ 0.8Thử thách
Người mớiViết code khởi tạo ba biến a (int), b (double) và c (int) lần lượt với các giá trị 9, 2.6 và 11.
Sau đó, khởi tạo các biến sau:
d (int)sẽ lưu kết quả phép chia lấy dư củaacho2e (int)sẽ lưu kết quả phép chia lấy dư củaacho3f (double)sẽ lưu kết quả phép chia lấy dư củabcho1.5g (double)sẽ lưu kết quả phép chia lấy dư củabcho3.9h (int)sẽ lưu kết quả phép chia lấy dư củaccho10
Xem kết quả và quan sát cách số bị chia và số chia khác nhau ảnh hưởng đến kết quả.
Tự làm thử
// Viết code của bạn bên dưới
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức nền tảng
4Các toán tử, phần 1
Toán tử số họcToán tử moduloTăng và giảmTăng và giảm hậu tốToán tử số học rút gọn5Toán tử phần 2
Toán tử so sánhToán tử logic phần 1Toán tử logic phần 2Ôn tập: logic đơn giảnToán tử logic phần 3Tự luyện tập: Trình biên dịch C# online