2011-11-10 37 views
11

Tôi có số thập phân có độ dài ngắn, biến đổi, như: #41551, được nhân bản phiên mã theo cách thủ công. Việc nhập sai sẽ gây ra kết quả không mong muốn, vì vậy suy nghĩ đầu tiên của tôi là sử dụng thuật toán Luhn để thêm tổng kiểm tra - #41551-3. Tuy nhiên, điều đó sẽ chỉ phát hiện lỗi, không sửa lỗi. Có vẻ như việc thêm một chữ số kiểm tra khác sẽ có thể phát hiện và chính xác lỗi một chữ số, vì vậy hãy cho #41515-3? (lỗi chuyển vị trí) tôi có thể khôi phục đúng #41551.Sửa lỗi trên số thập phân ngắn

Giống như mã Hamming có vẻ như là nơi thích hợp để xem, nhưng tôi không thể tìm ra cách áp dụng chúng vào thập phân, thay vì dữ liệu nhị phân. Có một thuật toán dành cho việc sử dụng này, hoặc có thể Hamming/Reed-Solomon vv được điều chỉnh cho tình huống này không?

+1

Tôi nghĩ đây là một vấn đề rất phức tạp do lỗi lạ của "kênh": thiếu chữ số, hoán đổi hai chữ số, v.v. – Szocske

+0

Ồ, mọi người thực sự không muốn nhấp vào câu hỏi này. –

Trả lời

3

Có, bạn có thể sử dụng mã Hamming cùng với phương trình kiểm tra để hiệu chỉnh. Sử dụng tổng hợp dữ liệu modulo 10 để tìm số kiểm tra. Đặt các số kiểm tra ở 1,2,4,8, ... vị trí.

Các vấn đề liên quan