Chia lấy phần dư ký hiệu là gì?

114 lượt xem
Phép toán modulo (%) trong lập trình trả về phần dư của phép chia. Ví dụ, A %= B thực hiện phép chia A cho B và cập nhật giá trị của A bằng phần dư thu được sau phép chia. Đây là cách viết gọn gàng hơn so với A = A % B.
Góp ý 0 lượt thích

Chia lấy phần dư ký hiệu

Trong lập trình, phép toán modulo ký hiệu bằng phần trăm (%) được sử dụng để tính phần dư của phép chia. Nó là một phép toán rất hữu ích trong nhiều ứng dụng, chẳng hạn như tính toán vị trí của một phần tử trong một mảng hoặc kiểm tra xem một số có chia hết cho một số khác hay không.

Cách thức hoạt động của phép toán modulo

Phép toán modulo lấy hai số làm tham số, số bị chia và số chia, và trả về phần dư của phép chia số bị chia cho số chia. Ví dụ:

7 % 3 = 1
10 % 4 = 2
15 % 5 = 0

Như bạn có thể thấy, phần dư là số còn lại khi số bị chia không thể chia hết cho số chia.

Cách viết gọn phép toán modulo

Trong một số ngôn ngữ lập trình, có một phép toán gọn hơn để thực hiện phép chia modulo. Thay vì sử dụng toán tử bằng (=) để gán giá trị phần dư cho một biến, bạn có thể sử dụng toán tử gán hợp +=. Ví dụ:

a %= b;

Phép toán này tương đương với:

a = a % b;

Ứng dụng của phép toán modulo

Phép toán modulo có nhiều ứng dụng khác nhau trong lập trình, bao gồm:

  • Tính vị trí của một phần tử trong một mảng: Bạn có thể sử dụng phép toán modulo để tính vị trí của một phần tử trong một mảng. Ví dụ, nếu bạn có một mảng gồm 10 phần tử và muốn lấy phần tử thứ 5, bạn có thể sử dụng phép toán modulo như sau:
index = 5 % 10; // index sẽ có giá trị là 5
  • Kiểm tra xem một số có chia hết cho một số khác không: Bạn có thể sử dụng phép toán modulo để kiểm tra xem một số có chia hết cho một số khác không. Nếu phần dư của phép chia là 0, thì số đó chia hết cho số khác. Ví dụ:
if (10 % 2 == 0) {
  // 10 chia hết cho 2
}
  • Tạo số ngẫu nhiên: Bạn có thể sử dụng phép toán modulo để tạo số ngẫu nhiên trong một phạm vi nhất định. Ví dụ, nếu bạn muốn tạo một số ngẫu nhiên trong phạm vi từ 0 đến 9, bạn có thể sử dụng phép toán modulo như sau:
random_number = rand() % 10; // random_number sẽ có giá trị từ 0 đến 9