Bit Parity Lẻ Là Gì?
Bit parity (bit chẵn lẻ) là một bit phụ được gắn thêm vào một khối dữ liệu nhị phân để hỗ trợ phát hiện lỗi cơ bản. Với parity lẻ (odd parity), bit parity được chọn sao cho tổng số bit 1 — tính cả các bit dữ liệu lẫn chính bit parity — luôn là một số lẻ. Công cụ này đếm số bit 1 trong chuỗi nhị phân của bạn và xuất ra bit parity (0 hoặc 1) cần thiết để thỏa quy tắc parity lẻ.
Cách Sử Dụng Công Cụ
Nhập chuỗi dữ liệu nhị phân của bạn (chỉ gồm ký tự 0 và 1). Công cụ sẽ đếm có bao nhiêu bit 1. Nếu số lượng đó đã là số lẻ, bit parity sẽ là 0 (không cần thay đổi gì). Nếu số lượng là số chẵn, bit parity sẽ là 1 để khi thêm vào thì tổng trở thành số lẻ.
Giải Thích Công Thức
Giả sử dữ liệu chứa số bit 1 bằng \(k\). Bit parity lẻ được tính theo công thức $$P = (k + 1) \bmod 2$$ Nói cách khác, \(P = 1\) khi \(k\) là số chẵn, và \(P = 0\) khi \(k\) là số lẻ. Từ mã (codeword) truyền đi sẽ là dữ liệu gốc cộng thêm bit \(P\) phía sau, bảo đảm tổng số bit 1 luôn là số lẻ.
Ví Dụ Minh Họa
Lấy dữ liệu 1011001. Đếm các bit 1: các vị trí có giá trị 1 là 1, 1, 1, 1 — tức là 4 bit 1, một số chẵn. Để tổng trở thành số lẻ, ta cần thêm một bit 1 nữa, vậy bit parity là 1. Từ mã đầy đủ trở thành 10110011, có 5 bit 1 (số lẻ). Nếu dữ liệu là 1011000 (3 bit 1, đã là số lẻ), thì bit parity sẽ là 0.
Câu Hỏi Thường Gặp
Parity lẻ và parity chẵn khác nhau ở đâu? Parity chẵn làm cho tổng số bit 1 là số chẵn; parity lẻ làm cho tổng đó là số lẻ. Công cụ này sử dụng parity lẻ.
Parity có phát hiện được mọi lỗi không? Một bit parity duy nhất phát hiện được bất kỳ số lượng lẻ các bit bị đảo, nhưng không thể phát hiện khi số lỗi là số chẵn, cũng không thể định vị hay sửa lỗi.
Parity được dùng ở đâu? Bit parity xuất hiện trong truyền thông nối tiếp (UART), các hệ thống bộ nhớ, và nhiều phép kiểm tra toàn vẹn dữ liệu đơn giản.