Altifigence Academy

5 / 63 · Konsep

XOR dan XNOR: kesamaan, perbedaan, dan paritas

Bedakan XOR dua masukan dari paritas banyak masukan dan jelaskan batas deteksi kesalahan.

Gerbang yang memeriksa perbedaan dua bit

XOR bernilai 1 jika kedua masukan berbeda; XNOR bernilai 1 jika keduanya sama.

a⊕b=a‾b+ab‾,a⊕b‾=ab+a‾ b‾a\oplus b=\overline a b+a\overline b,\qquad \overline{a\oplus b}=ab+\overline a\,\overline b

OR dan XOR sama pada 00, 01, dan 10, tetapi berbeda pada 11. Simbol XOR memiliki satu kurva tambahan di depan OR. XNOR juga memiliki lingkaran pembalikanNegasi Operasi NOT menukar 0 dan 1. Garis di atas ekspresi menerapkan NOT pada seluruh ekspresi yang dicakupnya. Selengkapnya pada keluarannya.

Bandingkan OR dan XOR untuk 11
XOR · Tabel kebenaran
aby
000
011
101
110

Untuk tiga masukan atau lebih, artinya bukan “tepat satu”

XOR bersifat asosiatif, sehingga a⊕b⊕ca\oplus b\oplus c dapat dihitung bertahap. Hasilnya 1 jika jumlah masukan bernilai 1 ganjil. Karena 111 juga menghasilkan 1, memperluas penjelasan “tepat satu masukan bernilai 1” menjadi keliru.

Keluaran sum full adder adalah paritasParitas Menunjukkan apakah jumlah bit 1 ganjil atau genap. Pemeriksaan paritas mendeteksi jumlah kesalahan bit ganjil, tetapi dapat melewatkan jumlah genap. tiga masukan ini; cout menunjukkan apakah sedikitnya dua masukan bernilai 1. Coba 111: sum=1, cout=1, dan jumlah bilangan bulatnya 1+2×1=31+2\times1=3.

Tiga masukan: paritas ganjil berbeda dari mayoritas

a + b + cin = sum + 2 × cout

Paritas hanya mendeteksi jenis kesalahan tertentu

Untuk data d3d2d1d0=1011d_3d_2d_1d_0=1011, bit paritas genap adalah p=d3⊕d2⊕d1⊕d0=1p=d_3\oplus d_2\oplus d_1\oplus d_0=1. XOR data bersama p bernilai 0. Jika sejumlah ganjil bit terbalik selama transmisi, XOR keseluruhan menjadi 1 dan kesalahan terdeteksi. Pembalikan sejumlah genap bit dapat lolos, dan satu bit paritas juga tidak menentukan lokasi kesalahan.

Membandingkan kesamaan pola bit

Kesamaan vektor A dan B dapat diperiksa dengan menggabungkan XOR setiap pasangan bit menggunakan OR.

equal=⋁i(Ai⊕Bi)‾equal=\overline{\bigvee_i(A_i\oplus B_i)}

Jika sedikitnya satu bit berbeda, OR bernilai 1. Membalik hasil keseluruhan menghasilkan 1 hanya jika semua bit sama. Menggunakan reduksi XOR untuk menilai kesamaan salah karena dua perbedaan dapat saling meniadakan.

Coba sendiri

Untuk A=1010 dan B=1001, tentukan pola XOR dan hasil equality. Apa masalahnya jika pola XOR direduksi lagi dengan XOR untuk menilai kesamaan?

Baca penjelasan

Pola XOR adalah 0011 dan equality bernilai 0. XOR dua bit yang berbeda saling meniadakan menjadi 0; inversinya keliru menghasilkan equality=1. Gunakan reduksi OR pada bit perbedaan.

Pilihan berlaku di peramban ini. Ubah kapan saja di bagian bawah halaman.