Bit chẵn lẻ (Parity Bit) là gì?
Bit chẵn lẻ là một bit phụ duy nhất được gắn thêm vào một chuỗi dữ liệu nhị phân để phát hiện lỗi một cách đơn giản. Đây là một trong những phương pháp kiểm tra lỗi lâu đời và rẻ nhất, được dùng trong truyền thông nối tiếp (UART), bộ nhớ và thiết bị lưu trữ. Bit parity được chọn sao cho tổng số bit 1 — tính cả chính bit parity — luôn là số chẵn (parity chẵn) hoặc luôn là số lẻ (parity lẻ).
Cách sử dụng máy tính này
Nhập dữ liệu nhị phân của bạn dưới dạng một chuỗi gồm các số 0 và 1 (ví dụ 1011010). Mọi ký tự không phải 0 hay 1 đều bị bỏ qua. Công cụ sẽ đếm xem dữ liệu có bao nhiêu bit 1, sau đó cho biết cả bit parity chẵn lẫn bit parity lẻ mà bạn cần gắn thêm.
Công thức tính
Trước tiên hãy đếm số bit 1, gọi là ones. Bit parity chẵn đơn giản là ones mod 2: nếu dữ liệu vốn đã có số bit 1 là số chẵn thì bit parity bằng 0; nếu là số lẻ thì bit parity bằng 1 để đưa tổng số về chẵn. Bit parity lẻ là giá trị bù lại, 1 - (ones mod 2), nhằm ép tổng số bit 1 thành số lẻ.
Ví dụ minh họa
Lấy dữ liệu 1011010. Các bit 1 nằm ở vị trí 1, 3, 4 và 6 → có 4 bit 1. Vì \(4 \bmod 2 = 0\) nên bit parity chẵn bằng 0 (tổng số vốn đã chẵn). Bit parity lẻ bằng 1, làm cho tổng số trở thành năm bit 1 — một số lẻ.
Câu hỏi thường gặp
Parity phát hiện được loại lỗi nào? Parity phát hiện được mọi trường hợp số bit bị đảo là số lẻ (1, 3, 5…). Nó không phát hiện được khi số lỗi là số chẵn, và cũng không thể sửa lỗi.
Parity chẵn hay lẻ — loại nào tốt hơn? Cả hai không có lợi thế nào hơn về khả năng phát hiện lỗi; việc chọn loại nào chỉ là quy ước thống nhất giữa bên gửi và bên nhận. Một số hệ thống thích parity lẻ để khi đường truyền toàn số 0 sẽ bị nhận diện là lỗi.
Bit parity có tự tính chính nó không? Có. Parity xét tổng số bit 1 trong dữ liệu cộng với bit parity, đó là lý do công thức dựa trên số bit 1 của phần dữ liệu.