JavaScript is required

Dữ liệu gốc: 1100101. Gửi đi: 11001010. Nhận được: 10111010. Sử dụng phương pháp parity bit.

Câu trả lời đúng là?

A.

Lỗi này phát hiện được, sửa được

B.

Lỗi không phát hiện được, sửa được

C.

Lỗi không phát hiện được

D.

Lỗi phát hiện được nhưng không sửa được

Trả lời:

Đáp án đúng: D


Dữ liệu gốc là 1100101, có 3 bit 1. Để sử dụng parity bit, một bit được thêm vào cuối để số lượng bit 1 là chẵn (even parity) hoặc lẻ (odd parity). Ở đây, bit được thêm vào là 0, nên dữ liệu gửi đi là 11001010, có 3 bit 1 (nếu dùng even parity) hoặc 4 bit 1 (nếu dùng odd parity).

Dữ liệu nhận được là 10111010, có 5 bit 1.

Nếu dùng even parity, dữ liệu gửi đi có 3 bit 1, dữ liệu nhận được có 5 bit 1. Số lượng bit 1 thay đổi là 2, là một số chẵn. Even parity chỉ phát hiện được số lẻ bit lỗi. Do đó lỗi không thể phát hiện được.

Nếu dùng odd parity, dữ liệu gửi đi có 4 bit 1, dữ liệu nhận được có 5 bit 1. Số lượng bit 1 thay đổi là 1, là một số lẻ. Odd parity có thể phát hiện được số lẻ bit lỗi. Tuy nhiên, ở đây chúng ta không biết hệ thống dùng odd hay even parity, nên không thể kết luận có lỗi hay không.

Tuy nhiên, theo đề bài, dữ liệu nhận được khác với dữ liệu gửi đi, nên chắc chắn có lỗi. Nếu hệ thống sử dụng even parity thì lỗi này không phát hiện được. Nếu hệ thống sử dụng odd parity thì lỗi này phát hiện được. Vì đề bài không nói rõ hệ thống sử dụng loại parity nào, ta giả sử hệ thống sử dụng even parity (phổ biến hơn) thì lỗi này không phát hiện được.

Parity bit chỉ có thể phát hiện ra lỗi chứ không sửa được lỗi. Vì vậy, đáp án đúng là lỗi không phát hiện được.

Câu hỏi liên quan