Skip to content

Kalkulator Pembagian Bersusun CRC / XOR / Modulo-2

Kalkulator Pembagian Bersusun CRC / XOR / Modulo-2

CRC / XOR calculator: enter message bits and generator poly for modulo-2 division.

Output: CRC remainder after XOR long division.

Output: CRC remainder after XOR long division.

Kalkulator Pembagian Bersusun CRC / XOR / Modulo-2 melakukan pembagian biner tanpa carry atau borrow, menggunakan XOR bitwise di setiap langkah. Ini aritmetika di balik cyclic redundancy check (CRC): pesan dilampirkan dengan bit nol dan dibagi polinomial generator, dan sisa menjadi checksum CRC. Karena penjumlahan dan pengurangan modulo-2 keduanya hanya XOR, setiap langkah adalah perbandingan bit sederhana. Masukkan kata data dan generator (pembagi) untuk melihat setiap penyelarasan, setiap XOR, dan sisa akhir yang digunakan sebagai CRC.

Cara menggunakan Kalkulator CRC / XOR / Modulo-2

Untuk menghitung CRC dengan pembagian modulo-2, ikuti 4 langkah berikut:

  • Masukkan pesan biner (bit data) di kolom pertama.
  • Masukkan polinomial generator sebagai bit biner di kolom kedua.
  • Kalkulator melampirkan (n − 1) bit nol, di mana n adalah panjang generator.
  • Klik Hitung untuk XOR pesan ke bawah dan baca sisa sebagai CRC.

Hasil bagi biasanya dibuang dalam pekerjaan CRC — sisa adalah checksum yang dilampirkan ke pesan sebelum transmisi.

CRC dan aritmetika modulo-2

Cyclic redundancy check mendeteksi kesalahan transmisi dengan memperlakukan pesan sebagai polinomial biner besar dan membagi dengan polinomial generator yang disepakati. Pembagian dilakukan dalam aritmetika modulo-2 (GF(2)), di mana penjumlahan dan pengurangan identik dan sama dengan XOR — tidak ada carry atau borrow. Sisa dari pembagian ini adalah CRC. Ketika penerima membagi pesan plus CRC dengan generator yang sama, sisa 0 berarti tidak ada kesalahan terdeteksi. Kalkulator ini mereproduksi proses bitwise persis itu.

Pembagian membagi total menjadi kelompok sama besar. Pembagian bersusun melakukannya digit demi digit.

Pembagi (32) — bilangan pembagi. Letakkan di kiri kurung.

Cara kerja pembagian CRC modulo-2

Kalkulator menghitung CRC melalui lima tindakan internal:

  • Melampirkan (n − 1) bit nol ke pesan, di mana n adalah jumlah bit generator.
  • Menyelaraskan generator di bawah bit 1 paling kiri sisa saat ini.
  • Melakukan XOR generator ke bit tersebut (pengurangan modulo-2 tanpa borrow).
  • Menggeser ke bit 1 berikutnya dan mengulangi penyelarasan XOR.
  • Berhenti ketika bit tersisa lebih sedikit dari generator; bit itulah CRC.

Setiap bit hasil bagi adalah 1 di mana generator di-XOR masuk dan 0 di tempat lain, tetapi untuk CRC hanya sisa akhir yang penting.

Melampirkan (n − 1) bit nol ke pesan, di mana n adalah jumlah bit generator.

Rumus pembagian CRC

Kalkulator CRC / XOR / Modulo-2 menghitung CRC = (M(x) · xⁿ⁻¹) mod G(x) dalam GF(2), di mana M(x) adalah pesan, G(x) adalah generator n bit, dan semua penjumlahan adalah XOR. Frame yang ditransmisikan adalah M(x)·xⁿ⁻¹ + CRC, yang G(x) bagi tepat. Di sisi penerima, sisa nol mengonfirmasi integritas.

110100111 = 1011 × 108902 + 189 → Identitas berlaku

Contoh soal CRC / XOR

Contoh berikut menunjukkan pembagian modulo-2 dengan XOR di setiap langkah.

Contoh 1 — Pesan 1101, generator 101

  1. Panjang generator 3, jadi lampirkan 2 nol: 1101 menjadi 110100.
  2. XOR 101 ke bit awal berulang: 110100 → 011100 → 001000 → 000010.
  3. 2 bit terakhir, 10, adalah sisa CRC.

Contoh 2 — Mengapa pengurangan adalah XOR

  1. Dalam modulo-2, 1 + 1 = 0 dan 1 − 1 = 0, jadi penjumlahan dan pengurangan operasi yang sama.
  2. Operasi itu persis XOR bitwise, tanpa carry atau borrow.
  3. Jadi setiap langkah pembagian adalah satu XOR generator ke bit saat ini.

Contoh 3 — Pemeriksaan penerima

  1. Lampirkan CRC ke pesan dan bagi dengan generator yang sama.
  2. XOR ke bawah persis seperti sebelumnya.
  3. Sisa 0 berarti tidak ada kesalahan terdeteksi.
Panjang generator 3, jadi lampirkan 2 nol: 1101 menjadi 110100.
XOR 101 ke bit awal berulang: 110100 → 011100 → 001000 → 000010.
2 bit terakhir, 10, adalah sisa CRC.

Soal CRC yang dikerjakan

Bagaimana cara menghitung CRC dari 10110 dengan generator 1011?

Lampirkan 3 nol (panjang generator 4) untuk mendapatkan 10110000, lalu XOR ke bawah. Selaraskan 1011 di bawah setiap 1 awal dan XOR: 10110000 → 00100000 → setelah XOR berurutan 3 bit terakhir membentuk sisa CRC. Sisa kemudian dilampirkan ke 10110 sehingga frame penuh habis dibagi 1011 tanpa sisa.

1101001111011

Mengapa sisa nol berarti data utuh?

Pengirim memilih CRC sehingga frame yang ditransmisikan adalah kelipatan tepat generator. Kelipatan G(x) dibagi G(x) meninggalkan sisa 0. Jika bit berubah saat transit, frame biasanya bukan kelipatan lagi, sehingga pembagian penerima meninggalkan sisa bukan nol, menandai kesalahan.

1010111

Kesalahan CRC / modulo-2 yang umum

Pembagian CRC modulo-2 menghasilkan 5 kesalahan yang sering:

  • Menggunakan pengurangan biner biasa dengan borrow alih-alih XOR.
  • Melampirkan jumlah bit nol yang salah (harus panjang generator minus satu).
  • Menyelaraskan generator di bawah bit 0 alih-alih bit 1 awal.
  • Memperlakukan carry seolah-olah ada dalam aritmetika GF(2).
  • Melaporkan hasil bagi sebagai CRC alih-alih sisa.

Kalkulator CRC / XOR / Modulo-2 melakukan XOR di setiap langkah, melampirkan nol yang benar, dan mengembalikan sisa sebagai checksum.

Menggunakan pengurangan biner biasa dengan borrow alih-alih XOR.
Melampirkan jumlah bit nol yang salah (harus panjang generator minus satu).
Menyelaraskan generator di bawah bit 0 alih-alih bit 1 awal.
Memperlakukan carry seolah-olah ada dalam aritmetika GF(2).
Melaporkan hasil bagi sebagai CRC alih-alih sisa.

Pertanyaan umum

Apa pembagian modulo-2?

Apa pembagian modulo-2?

Pembagian biner dalam GF(2), di mana penjumlahan dan pengurangan keduanya XOR dan tidak ada carry atau borrow. Setiap langkah XOR generator ke bit saat ini di mana bit awal 1.

Bagaimana CRC dihitung?

Lampirkan (panjang generator − 1) bit nol ke pesan, lalu bagi dengan generator menggunakan pembagian bersusun modulo-2 (XOR). Sisa adalah checksum CRC.

Mengapa XOR digunakan alih-alih pengurangan normal?

Dalam aritmetika modulo-2, 1 + 1 = 0 tanpa carry, sehingga penjumlahan dan pengurangan identik dan sama dengan XOR. Ini membuat setiap langkah pembagian satu XOR bitwise.

Berapa banyak bit nol yang dilampirkan ke pesan?

Lampirkan satu kurang dari jumlah bit generator. Generator 4 bit berarti 3 nol dilampirkan, yang menyediakan ruang untuk sisa CRC.

Bagaimana penerima memeriksa CRC?

Penerima membagi pesan plus CRC dengan generator yang sama menggunakan pembagian modulo-2. Sisa 0 berarti tidak ada kesalahan terdeteksi; sisa bukan nol menandai korupsi.

Apakah hasil bagi penting dalam CRC?

Tidak. Untuk CRC hanya sisa yang digunakan sebagai checksum. Hasil bagi biasanya dibuang.

Apa polinomial generator?

Pembagi biner yang disepakati, ditulis sebagai polinomial seperti x³ + x + 1 (1011). Pengirim dan penerima harus menggunakan generator yang sama agar pemeriksaan berfungsi.

Identitas CRC

Kalkulator CRC / XOR / Modulo-2 menggunakan CRC = (M(x)·xⁿ⁻¹) mod G(x) dalam GF(2), sehingga frame yang ditransmisikan M(x)·xⁿ⁻¹ + CRC habis dibagi G(x). Karena kelipatan generator meninggalkan sisa 0, pembagian modulo-2 penerima mengembalikan 0 ketika data utuh.