Bagaimana cara menghitung kode Hamming
Langkah 1
Buat kata data. Setiap bit dengan posisi yang merupakan kekuatan dua (pertama, kedua, keempat, dll.) Harus disediakan untuk informasi paritas. Gunakan panjang kata yang Anda butuhkan untuk beradaptasi dengan sumber data dan bit paritas.
Misalnya:
1 1 0 1 0 0 1 0 menjadi _ _ 1 _ 1 0 1 _ 0 0 1 0
Bit tetap dalam urutan yang sama tetapi telah diperpanjang untuk mengakomodasi bit paritas.
Langkah 2
Hitung bit paritas terlebih dahulu. Dimulai dengan bit pertama, baca sedikit, lalu lewati sedikit dan ulangi operasi, sambil menghitung jumlah yang ditemukan. Bit paritas dihitung sebagai nol.
Jika jumlah yang genap, letakkan bit pertama sebagai nol. Kalau tidak, taruh sebagai satu.
Misalnya:
Bits 1, 3, 5, 7, 9 dan 11, dari __ 1 _ 1 0 1 _ 0 0 1 0, _11101, berisi empat. Ini bahkan, jadi bit pertama diatur ke nol: 0 _ 1 _ 1 0 1 _ 0 0 1 0.
Langkah 3
Hitung bit paritas yang tersisa. Bit dua membaca dua bit dari bit dua, lalu melompat dua dan mengulangi. Bit empat membaca empat bit, lalu melompat empat dan mulai dengan bit empat. Lanjutkan dengan pola ini sampai tidak ada bit paritas yang tersisa untuk dihitung.
Misalnya:
Bit 2: 0 _ 1 _ 1 0 1 _ 0 0 1 0 revisi _1, 01, 01, yang berisi 3, jadi bit 2 diatur ke 1. Bit 4: 0 1 1 _ 1 0 1 _ 0 0 1 0 revisi _101, 0, yang berisi 2, jadi bit 4 diatur ke 0. Bit 8: 0 1 1 0 1 0 1_ 0 0 1 0 revisi _0010, dengan hanya satu, atur bit 8 sebagai 1
Kata yang dikodekan oleh karenanya adalah 011010110010.
Langkah 4
Konfirmasikan kata itu. Jika sebuah kata rusak, bit paritas tidak akan cocok dengan yang diharapkan. Untuk mengkonfirmasi bahwa kata tidak rusak, Anda hanya perlu menghitung bit paritas dengan langkah dua dan tiga. Jika ada bit yang tidak cocok, daftarkan posisi mereka.
Langkah 5
Perbaiki sedikit yang buruk. Jika Anda menemukan bit paritas yang salah, cukup tambahkan posisi bit. Jumlahnya adalah posisi bit yang salah. Pindahkan nilai bit di posisi itu.
Sebagai contoh, jika paritas bit satu dan empat tidak benar, balik nilai bit kelima kelima untuk memperbaiki kesalahan.