Skip to content

Kalkulator Bahagi Panjang CRC / XOR / Modulo-2

Kalkulator Bahagi Panjang 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 Bahagi Panjang CRC / XOR / Modulo-2 melakukan pembahagian perduaan tanpa carry atau borrow, menggunakan XOR bitwise pada setiap langkah. Ini aritmetik di sebalik cyclic redundancy check (CRC): mesej dilampirkan dengan bit sifar dan dibahagikan polinomial penjana, dan baki menjadi checksum CRC. Kerana penambahan dan penolakan modulo-2 kedua-duanya hanya XOR, setiap langkah ialah perbandingan bit mudah. Masukkan perkataan data dan penjana (pembahagi) untuk melihat setiap penjajaran, setiap XOR, dan baki akhir digunakan sebagai CRC.

Cara menggunakan Kalkulator CRC / XOR / Modulo-2

Untuk mengira CRC dengan bahagi modulo-2, ikuti 4 langkah berikut:

  • Masukkan mesej perduaan (bit data) dalam medan pertama.
  • Masukkan polinomial penjana sebagai bit perduaan dalam medan kedua.
  • Kalkulator melampirkan (n − 1) bit sifar, di mana n ialah panjang penjana.
  • Klik Kira untuk XOR mesej ke bawah dan baca baki sebagai CRC.

Hasil bahagi biasanya dibuang dalam kerja CRC — baki ialah checksum yang dilampirkan ke mesej sebelum penghantaran.

CRC dan aritmetik modulo-2

Cyclic redundancy check mengesan ralat penghantaran dengan memperlakukan mesej sebagai polinomial perduaan besar dan membahagikannya dengan polinomial penjana yang dipersetujui. Pembahagian dilakukan dalam aritmetik modulo-2 (GF(2)), di mana penambahan dan penolakan identik dan sama dengan XOR — tiada carry atau borrow. Baki dari pembahagian ini ialah CRC. Apabila penerima membahagikan mesej tambah CRC dengan penjana yang sama, baki 0 bermakna tiada ralat dikesan. Kalkulator ini menghasilkan semula proses bitwise tepat itu.

Pembahagian mengagihkan jumlah kepada kumpulan sama rata. Bahagi panjang melakukannya digit demi digit.

Pembahagi (32) — nombor yang anda gunakan untuk membahagi. Letakkannya di kiri kurungan.

Cara bahagi CRC modulo-2 berfungsi

Kalkulator mengira CRC melalui lima tindakan dalaman:

  • Melampirkan (n − 1) bit sifar ke mesej, di mana n ialah bilangan bit penjana.
  • Menyelaraskan penjana di bawah bit 1 paling kiri baki semasa.
  • Melakukan XOR penjana ke bit tersebut (penolakan modulo-2 tanpa borrow).
  • Menganjak ke bit 1 seterusnya dan mengulangi penjajaran XOR.
  • Berhenti apabila bit tinggal lebih sedikit daripada penjana; bit itulah CRC.

Setiap bit hasil bahagi ialah 1 di mana penjana di-XOR masuk dan 0 di tempat lain, tetapi untuk CRC hanya baki akhir yang penting.

Melampirkan (n − 1) bit sifar ke mesej, di mana n ialah bilangan bit penjana.

Formula bahagi CRC

Kalkulator CRC / XOR / Modulo-2 mengira CRC = (M(x) · xⁿ⁻¹) mod G(x) dalam GF(2), di mana M(x) ialah mesej, G(x) ialah penjana n bit, dan semua penambahan ialah XOR. Rangka dihantar ialah M(x)·xⁿ⁻¹ + CRC, yang G(x) bahagikan tepat. Di sisi penerima, baki sifar mengesahkan integriti.

110100111 = 1011 × 108902 + 189 → Identiti sah

Contoh soalan CRC / XOR

Contoh berikut menunjukkan bahagi modulo-2 dengan XOR pada setiap langkah.

Contoh 1 — Mesej 1101, penjana 101

  1. Panjang penjana 3, jadi lampirkan 2 sifar: 1101 menjadi 110100.
  2. XOR 101 ke bit awal berulang: 110100 → 011100 → 001000 → 000010.
  3. 2 bit terakhir, 10, ialah baki CRC.

Contoh 2 — Mengapa penolakan ialah XOR

  1. Dalam modulo-2, 1 + 1 = 0 dan 1 − 1 = 0, jadi tambah dan tolak operasi sama.
  2. Operasi itu tepat XOR bitwise, tanpa carry atau borrow.
  3. Jadi setiap langkah bahagi ialah satu XOR penjana ke bit semasa.

Contoh 3 — Semakan penerima

  1. Lampirkan CRC ke mesej dan bahagi dengan penjana yang sama.
  2. XOR ke bawah tepat seperti sebelum.
  3. Baki 0 bermakna tiada ralat dikesan.
Panjang penjana 3, jadi lampirkan 2 sifar: 1101 menjadi 110100.
XOR 101 ke bit awal berulang: 110100 → 011100 → 001000 → 000010.
2 bit terakhir, 10, ialah baki CRC.

Soalan CRC yang dikerjakan

Bagaimana anda kira CRC 10110 dengan penjana 1011?

Lampirkan 3 sifar (panjang penjana 4) untuk dapat 10110000, kemudian XOR ke bawah. Selaraskan 1011 di bawah setiap 1 awal dan XOR: 10110000 → 00100000 → selepas XOR berturut 3 bit terakhir membentuk baki CRC. Baki kemudian dilampirkan ke 10110 supaya rangka penuh habis dibahagi 1011 tanpa baki.

1101001111011

Mengapa baki sifar bermakna data utuh?

Penghantar memilih CRC supaya rangka dihantar ialah gandaan tepat penjana. Gandaan G(x) dibahagi G(x) meninggalkan baki 0. Jika bit berubah semasa transit, rangka biasanya bukan gandaan lagi, jadi bahagi penerima meninggalkan baki bukan sifar, menandakan ralat.

1010111

Kesilapan CRC / modulo-2 yang biasa

Bahagi CRC modulo-2 menghasilkan 5 ralat yang kerap:

  • Menggunakan penolakan perduaan biasa dengan borrow daripada XOR.
  • Melampirkan bilangan bit sifar yang salah (mesti panjang penjana tolak satu).
  • Menyelaraskan penjana di bawah bit 0 daripada bit 1 awal.
  • Memperlakukan carry seolah-olah wujud dalam aritmetik GF(2).
  • Melaporkan hasil bahagi sebagai CRC daripada baki.

Kalkulator CRC / XOR / Modulo-2 melakukan XOR pada setiap langkah, melampirkan sifar betul, dan mengembalikan baki sebagai checksum.

Menggunakan penolakan perduaan biasa dengan borrow daripada XOR.
Melampirkan bilangan bit sifar yang salah (mesti panjang penjana tolak satu).
Menyelaraskan penjana di bawah bit 0 daripada bit 1 awal.
Memperlakukan carry seolah-olah wujud dalam aritmetik GF(2).
Melaporkan hasil bahagi sebagai CRC daripada baki.

Soalan lazim

Apakah bahagi modulo-2?

Apakah bahagi modulo-2?

Ia bahagi perduaan dalam GF(2), di mana penambahan dan penolakan kedua-duanya XOR dan tiada carry atau borrow. Setiap langkah XOR penjana ke bit semasa di mana bit awal 1.

Bagaimana CRC dikira?

Lampirkan (panjang penjana − 1) bit sifar ke mesej, kemudian bahagi dengan penjana menggunakan bahagi panjang modulo-2 (XOR). Baki ialah checksum CRC.

Mengapa XOR digunakan daripada penolakan normal?

Dalam aritmetik modulo-2, 1 + 1 = 0 tanpa carry, jadi penambahan dan penolakan identik dan sama dengan XOR. Ini menjadikan setiap langkah bahagi satu XOR bitwise.

Berapa banyak bit sifar saya lampirkan ke mesej?

Lampirkan satu kurang daripada bilangan bit dalam penjana. Penjana 4 bit bermakna 3 sifar dilampirkan, yang menyediakan ruang untuk baki CRC.

Bagaimana penerima semak CRC?

Penerima membahagikan mesej tambah CRC dengan penjana yang sama menggunakan bahagi modulo-2. Baki 0 bermakna tiada ralat dikesan; baki bukan sifar menandakan kerosakan.

Adakah hasil bahagi penting dalam CRC?

Tidak. Untuk CRC hanya baki digunakan sebagai checksum. Hasil bahagi biasanya dibuang.

Apakah polinomial penjana?

Ia pembahagi perduaan yang dipersetujui, ditulis sebagai polinomial seperti x³ + x + 1 (1011). Penghantar dan penerima mesti gunakan penjana yang sama supaya semakan berfungsi.

Identiti CRC

Kalkulator CRC / XOR / Modulo-2 menggunakan CRC = (M(x)·xⁿ⁻¹) mod G(x) dalam GF(2), jadi rangka dihantar M(x)·xⁿ⁻¹ + CRC habis dibahagi G(x). Kerana gandaan penjana meninggalkan baki 0, bahagi modulo-2 penerima mengembalikan 0 apabila data utuh.