Logik xor. Elemen logik yang lebih kompleks. Ciri-ciri operasi XOR


Operator Sintaks Penerangan
DAN A DAN B Kata Hubung: Jika A dan B adalah Benar, maka Benar. Jika tidak - Salah
ATAU A ATAU B Disjunction: Jika mana-mana operan adalah Benar, maka Benar. Jika tidak - Salah
TIDAK BUKAN A Penafian: Jika A adalah Salah, maka ia adalah Benar. Jika tidak - Salah
XOR A XOR B Pengecualian: Jika A adalah Benar atau B adalah Benar, maka - Benar. Jika tidak - Salah
EQV A EQV B Kesetaraan: Jika A mempunyai nilai yang sama dengan B, maka ia adalah Benar. Jika tidak - Salah
IMP A IMP B Implikasi: Jika A adalah Benar dan B adalah Salah, maka Salah. Jika tidak - Benar

Operan untuk pengendali Boolean boleh berupa sebarang ungkapan sah yang mempunyai hasil Boolean, serta nombor yang boleh ditukar kepada nilai Boolean.

Hasil daripada operasi logik ialah nilai jenis Boolean (atau Null jika sekurang-kurangnya satu daripada operan adalah Null).

Operator logik DAN

Sintaks:
Operan_1 DAN Operan_2


Operator AND melakukan kata hubung logik.

Hasil operasi ini adalah Benar hanya apabila kedua-dua operan adalah Benar, sebaliknya Salah.


Jadual kebenaran


Operator AND boleh digunakan untuk berbilang operan:


(5 3) DAN (5=6) hasilnya akan Salah


Tanpa mengira bilangan operan, hasil operasi logik DAN akan menjadi Benar hanya jika semua operan ungkapan itu menilai kepada Benar. Dalam mana-mana kes lain, hasilnya adalah Palsu. Ambil perhatian bahawa operan disertakan dalam kurungan. VBA mula-mula menilai nilai setiap operan di dalam kurungan, dan kemudian keseluruhan ungkapan.

Operator logik ATAU

Sintaks:
Operand_1 ATAU Operand_2


Pengendali OR melakukannya percanggahan logik.

Keputusan operasi ini adalah Benar jika sekurang-kurangnya satu daripada operan adalah Benar, sebaliknya Salah.


Jadual kebenaran


Operator OR boleh digunakan untuk berbilang operan:


(5 3) ATAU (5=6) hasilnya akan menjadi Benar


Tanpa mengira bilangan operan, hasil operasi logik ATAU akan sentiasa Benar jika sekurang-kurangnya satu daripada operan ungkapan itu Benar. Jika tidak, hasilnya akan menjadi Palsu.

Operator AND dan OR boleh digabungkan:


((5 3)) ATAU (5=6) hasilnya akan menjadi Benar

Operator logik TIDAK

Sintaks:
BUKAN Operan


Operator NOT melakukannya penafian logik.

Operator NOT hanya menggunakan satu operan.


Jadual kebenaran


DAN ATAU TIDAK operator boleh digabungkan:


((5 3)) ATAU TIDAK (5=6) hasilnya akan menjadi Benar

Pengendali logik XOR

Sintaks:
Operan_1 XOR Operan_2


Pengendali XOR melakukannya pengecualian logik.

Keputusan operasi ini adalah Benar jika operan mempunyai nilai yang berbeza, sebaliknya Salah.


Jadual kebenaran


((5 3)) ATAU TIDAK (5=6) XOR (5=5) hasilnya akan Salah

Pengendali logik EQV

Sintaks:
Operand_1 EQV Operand_2


Pengendali EQV ialah pengendali kesetaraan logik.

Keputusan operasi ini adalah Benar jika operan mempunyai nilai yang sama, sebaliknya Salah.


Jadual kebenaran


((5 3)) ATAU TIDAK (5=6) EQV (5=5) hasilnya akan menjadi Benar

IMP pengendali logik

Sintaks:
Operand_1 IMP Operand_2


Pengendali IMP menjalankan operasi logik implikasi.


Jadual kebenaran


((5 3)) ATAU TIDAK (5=6) IMP (5=5) hasilnya akan menjadi Benar


Pengendali logik IMP adalah yang paling tidak intuitif daripada semua pengendali logik. Nasib baik, keperluan untuk menggunakannya agak jarang berlaku.

Selalunya, untuk menunjukkan keupayaan terhad perceptron lapisan tunggal semasa menyelesaikan masalah, mereka mengambil tindakan untuk mempertimbangkan apa yang dipanggil masalah. XOR – eksklusif ATAU.

Intipati tugas adalah seperti berikut. Fungsi logik XOR diberikan - eksklusif OR. Ia adalah fungsi dua hujah, setiap satunya boleh menjadi sifar atau satu. Ia memerlukan nilai , apabila salah satu argumen adalah sama dengan satu, tetapi bukan kedua-duanya, sebaliknya . Masalahnya boleh digambarkan menggunakan satu lapisan, satu-neuron, sistem dua input, ditunjukkan dalam rajah di bawah.

Mari kita nyatakan satu input dengan , dan satu lagi dengan , maka semua kemungkinan kombinasi mereka akan terdiri daripada empat mata pada satah. Jadual di bawah menunjukkan hubungan yang diperlukan antara input dan output, di mana kombinasi input yang sepatutnya menghasilkan output sifar dilabelkan dan , output tunggal dilabelkan dan .

mata Maknanya Maknanya Keluaran yang diperlukan
0 0 0
1 0 1
0 1 1
1 1 0

Satu neuron dengan dua input boleh membentuk permukaan keputusan dalam bentuk garis lurus arbitrari. Untuk membolehkan rangkaian melaksanakan fungsi XOR yang dinyatakan dalam jadual di atas, anda perlu meletakkan garisan supaya titik berada pada satu sisi garisan, dan titik berada di sebelah yang lain. Setelah cuba melukis garis lurus dalam rajah di bawah, kami yakin bahawa ini adalah mustahil. Ini bermakna tidak kira apa nilai yang diberikan kepada pemberat dan ambang, rangkaian neural satu lapisan tidak dapat menghasilkan semula hubungan input-output yang diperlukan untuk mewakili fungsi XOR.

Walau bagaimanapun, fungsi XOR mudah dibentuk oleh rangkaian dua lapisan, dan dalam banyak cara. Mari kita pertimbangkan salah satu kaedah ini. Mari kita memodenkan rangkaian dalam rajah dengan menambah satu lagi lapisan neuron tersembunyi:

Ambil perhatian bahawa rangkaian ini diberikan sebagaimana adanya, i.e. kita boleh menganggap bahawa dia telah dilatih. Nombor di atas anak panah menunjukkan nilai pemberat sinaptik. Sebagai fungsi pengaktifan, kami akan menggunakan fungsi lompat tunggal dengan ambang yang mempunyai graf berikut:

Kemudian hasil operasi rangkaian saraf sedemikian boleh dibentangkan dalam bentuk jadual berikut:

mata Maknanya Maknanya Keluaran yang diperlukan
0 0 0 0 0 0
1 0 1 1 0 1
0 1 1 0 1 1
1 1 0 0 0 0

Setiap satu daripada dua neuron lapisan pertama membentuk permukaan keputusan dalam bentuk garis lurus sewenang-wenangnya (membahagikan satah kepada dua setengah satah), dan neuron lapisan keluaran menggabungkan kedua-dua penyelesaian ini, membentuk permukaan keputusan dalam bentuk jalur yang dibentuk oleh garis lurus selari neuron lapisan pertama:

Rangkaian saraf yang digunakan dalam artikel ini untuk menyelesaikan masalah XOR adalah primitif dan tidak memanfaatkan sepenuhnya keupayaan rangkaian berbilang lapisan. Adalah jelas bahawa rangkaian saraf berbilang lapisan mempunyai kuasa perwakilan yang lebih besar daripada satu lapisan hanya dengan kehadiran bukan linear. Dan dalam rangkaian ini, fungsi pengaktifan linear ambang digunakan. Rangkaian sedemikian tidak boleh dilatih, contohnya, menggunakan algoritma perambatan balik.

Litar elektrik yang direka untuk melakukan beberapa operasi logik pada data input dipanggil elemen logik. Data input diwakili di sini dalam bentuk voltan pelbagai peringkat, dan hasil operasi logik pada output juga diperoleh dalam bentuk voltan pada tahap tertentu.

Dalam kes ini, operan dibekalkan - isyarat dalam bentuk voltan tahap tinggi atau rendah diterima pada input elemen logik, yang pada asasnya berfungsi sebagai data input. Oleh itu, voltan tahap tinggi - logik 1 - menunjukkan nilai sebenar operan, dan voltan tahap rendah 0 - nilai palsu. 1 - BETUL, 0 - SALAH.

Unsur logik- elemen yang melaksanakan perhubungan logik tertentu antara isyarat input dan output. Unsur logik biasanya digunakan untuk membina litar logik komputer dan litar pemantauan dan kawalan automatik diskret. Semua jenis elemen logik, tanpa mengira sifat fizikalnya, dicirikan oleh nilai diskret isyarat input dan output.

Unsur logik mempunyai satu atau lebih input dan satu atau dua (biasanya songsang antara satu sama lain) output. Nilai "sifar" dan "satu" isyarat keluaran unsur logik ditentukan oleh fungsi logik yang dilakukan elemen, dan nilai "sifar" dan "satu" isyarat input, yang memainkan peranan pembolehubah bebas. Terdapat fungsi logik asas yang mana mana-mana fungsi logik kompleks boleh digubah.

Bergantung pada reka bentuk litar elemen, pada parameter elektriknya, tahap logik (tahap voltan tinggi dan rendah) input dan output mempunyai nilai yang sama untuk keadaan tinggi dan rendah (benar dan palsu).

Secara tradisinya, elemen logik dihasilkan dalam bentuk komponen radio khas - litar bersepadu. Operasi logik seperti konjungsi, disjunction, penolakan dan penambahan modulo (DAN, ATAU, BUKAN, XOR) ialah operasi asas yang dilakukan pada jenis utama get logik. Seterusnya, mari kita lihat setiap jenis elemen logik ini dengan lebih dekat.

Unsur logik "DAN" - kata hubung, pendaraban logik, DAN


"DAN" ialah elemen logik yang melakukan operasi gabungan atau pendaraban logik pada data input. Elemen ini boleh mempunyai dari 2 hingga 8 (yang paling biasa dalam pengeluaran ialah elemen "DAN" dengan 2, 3, 4 dan 8 input) input dan satu output.

Simbol unsur logik "DAN" dengan bilangan input yang berbeza ditunjukkan dalam rajah. Dalam teks, elemen logik "DAN" dengan bilangan input tertentu ditetapkan sebagai "2I", "4I", dll. - elemen "DAN" dengan dua input, dengan empat input, dsb.


Jadual kebenaran untuk elemen 2I menunjukkan bahawa output elemen akan menjadi logik hanya jika logik serentak pada input pertama DAN pada input kedua. Dalam baki tiga kes yang mungkin, output akan menjadi sifar.

Dalam rajah Barat, ikon elemen I mempunyai garis lurus pada input dan garis bulat pada output. Pada gambar rajah domestik - segi empat tepat dengan simbol "&".

Unsur logik "ATAU" - disjungsi, penambahan logik, ATAU


"ATAU" ialah elemen logik yang melakukan operasi perpisahan atau penambahan logik pada data input. Ia, seperti elemen "I", tersedia dengan dua, tiga, empat, dsb. input dan satu output. Simbol unsur logik "ATAU" dengan bilangan input yang berbeza ditunjukkan dalam rajah. Elemen ini ditetapkan seperti berikut: 2OR, 3OR, 4OR, dsb.


Jadual kebenaran untuk elemen "2OR" menunjukkan bahawa untuk satu logik muncul pada output, adalah memadai bahawa logik berada pada input pertama ATAU pada input kedua. Jika terdapat yang logik pada dua input sekaligus, output juga akan menjadi satu.

Dalam rajah Barat, ikon elemen "ATAU" mempunyai input bulat dan keluaran bulat dan runcing. Pada rajah domestik terdapat segi empat tepat dengan simbol "1".

Unsur logik "TIDAK" - penolakan, penyongsang, BUKAN

"TIDAK" ialah elemen logik yang melakukan operasi penafian logik pada data input. Elemen ini, yang mempunyai satu output dan hanya satu input, juga dipanggil penyongsang, kerana ia sebenarnya menyongsangkan (membalikkan) isyarat input. Rajah menunjukkan simbol untuk elemen logik "TIDAK".

Jadual kebenaran untuk penyongsang menunjukkan bahawa potensi input yang tinggi menghasilkan potensi output yang rendah dan sebaliknya.

Dalam rajah Barat, ikon elemen "TIDAK" mempunyai bentuk segi tiga dengan bulatan pada output. Pada gambar rajah domestik terdapat segi empat tepat dengan simbol "1", dengan bulatan pada output.

Unsur logik "NAND" - kata hubung (pendaraban logik) dengan penolakan, NAND

"DAN-BUKAN" ialah elemen logik yang melakukan operasi penambahan logik pada data input, dan kemudian operasi penafian logik, hasilnya dihantar ke output. Dalam erti kata lain, ia pada asasnya adalah elemen "DAN", dilengkapi dengan elemen "TIDAK". Rajah menunjukkan simbol untuk elemen logik "2DAN-BUKAN".


Jadual kebenaran untuk get NAND adalah bertentangan dengan jadual kebenaran untuk get AND. Daripada tiga sifar dan satu, terdapat tiga satu dan sifar. Unsur NAND juga dipanggil "elemen Schaeffer" sebagai penghormatan kepada ahli matematik Henry Maurice Schaeffer, yang pertama kali menyatakan kepentingannya pada tahun 1913. Ditandakan sebagai "I", hanya dengan bulatan pada output.

Unsur logik "ATAU-TIDAK" - disjungsi (penambahan logik) dengan penafian, NOR

"ATAU-TIDAK" ialah elemen logik yang melakukan operasi penambahan logik pada data input, dan kemudian operasi penafian logik, hasilnya dihantar ke output. Dalam erti kata lain, ini ialah elemen "ATAU" ditambah dengan elemen "TIDAK" - penyongsang. Rajah menunjukkan simbol untuk elemen logik "2OR-NOT".


Jadual kebenaran untuk get OR adalah bertentangan dengan jadual kebenaran untuk get OR. Potensi keluaran yang tinggi hanya diperolehi dalam satu kes - potensi rendah digunakan serentak pada kedua-dua input. Ia ditetapkan sebagai "ATAU", hanya dengan bulatan pada output yang menunjukkan penyongsangan.

Gerbang logik "eksklusif ATAU" - modulo tambahan 2, XOR

"eksklusif ATAU" ialah elemen logik yang melakukan operasi penambahan logik modulo 2 pada data input, mempunyai dua input dan satu output. Selalunya elemen ini digunakan dalam litar kawalan. Rajah menunjukkan simbol untuk unsur ini.

Imej dalam litar Barat adalah seperti "ATAU" dengan jalur melengkung tambahan pada sisi input, dalam litar domestik ia seperti "ATAU", hanya daripada "1" ia akan ditulis "=1".


Unsur logik ini juga dipanggil "ketidaksamaan". Tahap voltan tinggi akan berada pada output hanya apabila isyarat pada input tidak sama (satu adalah satu, satu lagi adalah sifar, atau satu adalah sifar, dan satu lagi adalah satu), walaupun terdapat dua isyarat pada input pada masa yang sama, output akan menjadi sifar - ini adalah perbezaan dari "ATAU". Unsur logik ini digunakan secara meluas dalam penambah.

Bit ialah unit pengukuran minimum untuk jumlah maklumat, kerana ia menyimpan satu daripada dua nilai - 0 (Salah) atau 1 (Benar). False dan True diterjemahkan ke dalam bahasa Rusia sebagai pembohongan dan kebenaran, masing-masing. Iaitu, satu sel bit hanya boleh berada dalam satu keadaan daripada dua kemungkinan pada satu masa. Biar saya ingatkan anda bahawa dua kemungkinan keadaan sel bit ialah 1 dan 0.
Terdapat operasi tertentu untuk memanipulasi bit. Operasi ini dipanggil operasi logik atau Boolean, dinamakan sempena salah seorang ahli matematik, George Boole (1815-1864), yang menyumbang kepada perkembangan bidang sains ini.
Semua operasi ini boleh digunakan pada sebarang bit, tidak kira sama ada ia mempunyai nilai 0 (sifar) atau 1 (satu). Di bawah ialah operasi logik asas dan contoh penggunaannya.

Logik DAN operasi

DAN Notasi: &

Operasi logik DAN dilakukan pada dua bit, mari kita panggil mereka a dan b. Hasil daripada melaksanakan operasi logik DAN akan sama dengan 1 jika a dan b sama dengan 1, dan dalam semua kes lain, hasilnya akan sama dengan 0. Kami melihat jadual kebenaran operasi logik dan.

a(bit 1) b(bit 2) a(bit 1) & b(bit 2)
0 0 0
0 1 0
1 0 0
1 1 1

Logik ATAU operasi

ATAU jawatan: |

Operasi OR logik dilakukan pada dua bit (a dan b). Hasil operasi OR logik akan menjadi 0 jika a dan b sama dengan 0 (sifar), dan dalam semua kes lain (lain), hasilnya akan menjadi 1 (satu). Kami melihat jadual kebenaran operasi logik ATAU.

a(bit 1) b(bit 2) a(bit 1) | b(bit 2)
0 0 0
0 1 1
1 0 1
1 1 1

Operasi logik eksklusif ATAU (XOR).

Tatatanda XOR: ^
Operasi OR eksklusif logik dilakukan pada dua bit (a dan b). Hasil operasi logik XOR akan menjadi 1 (satu) jika salah satu bit a atau b adalah 1 (satu), jika tidak hasilnya akan menjadi 0 (nol). Kami melihat jadual kebenaran operasi logik eksklusif OR.

a(bit 1) b(bit 2) a(bit 1) ^ b(bit 2)
0 0 0
0 1 1
1 0 1
1 1 0

Operasi logik BUKAN (bukan)

Notasi BUKAN: ~
Operasi logik TIDAK dilakukan pada satu bit. Hasil daripada operasi logik ini secara langsung bergantung pada keadaan bit. Jika bit berada dalam keadaan sifar, maka hasil NOT akan sama dengan satu dan sebaliknya. Kami melihat jadual kebenaran operasi logik NOT.

a(bit 1) ~a(negasi bit)
0 1
1 0

Ingat 4 operasi logik ini. Menggunakan operasi logik ini kita boleh mendapatkan sebarang hasil yang mungkin. Baca secara terperinci tentang penggunaan operasi logik dalam C++.

Dalam amalan, elemen dua input yang paling biasa digunakan ialah "eksklusif ATAU". Dalam Rajah. Rajah 1 menunjukkan penetapan grafik konvensional bagi unsur tanpa penyongsangan dan jadual keadaannya. Ringkasnya, intipati elemen ini bermuara kepada perkara berikut: isyarat keluaran hanya muncul apabila tahap logik pada input tidak sama.

Skim untuk mengenal pasti tepi dan potongan nadi

Dalam litar ini, tiga get XOR digunakan untuk melambatkan denyutan. DD1.4 - penjumlahan. Denyutan output mempunyai tepi hadapan yang stabil dan tepi jatuh. Tempoh setiap denyut keluaran adalah sama dengan tiga kali ganda masa tunda pensuisan bagi setiap tiga elemen. Selang masa antara tepi denyutan keluaran adalah sama dengan tempoh denyutan masukan. Peranti ini juga menggandakan kekerapan isyarat input.

Terdapat satu lagi hartanah menarik yang dipanggil "Eksklusif ATAU". Jika pemalar "0" digunakan pada salah satu input, maka isyarat pada output elemen akan mengulangi isyarat input, dan jika pemalar "0" ditukar kepada pemalar "1", maka isyarat output akan sudah menjadi penyongsangan isyarat input.

Kadangkala ia menjadi perlu untuk mendapatkan get "eksklusif ATAU" daripada get logik standard individu. Contohnya ialah litar elemen "eksklusif ATAU" yang dilaksanakan pada empat elemen 2-DAN-BUKAN. Rajah 3 menunjukkan litar XOR dalam empat keadaannya. Ini menunjukkan semua peringkat logik yang mungkin pada setiap get logik 2-NAND yang digunakan.

Unsur-unsur tersebut disertakan dalam rajah. Dalam litar ini, elemen "Eksklusif ATAU" diperbuat daripada empat elemen 2-DAN-BUKAN yang disertakan dalam satu pakej litar mikro K561LA7.

Penjana isyarat diskret dengan kekerapan perbezaan

Litar pemacu ditunjukkan dalam Rajah 4. Di sini, elemen logik OR eksklusif juga dilaksanakan pada empat elemen 2-DAN-BUKAN.

Denyutan segi empat tepat jatuh pada input 1 dan 2 pembentuk (lihat graf 1 dan 2), yang berbeza dalam kekerapan pengulangan. Nod berdasarkan unsur logik DD1.1-DDI.4 mendarabkan isyarat ini. Isyarat nadi keluaran (graf 3) daripada elemen DD1.4 disalurkan kepada litar penyepadu R3, C1, yang menukarkannya kepada isyarat segi tiga (graf 4) dengan frekuensi yang sama dengan perbezaan frekuensi isyarat input, dan op -amp DA1 menukar isyarat yang diterima kepada gelombang persegi (lihat. jadual 5). Perintang R1 mengawal tempoh separuh gelombang positif dan negatif isyarat keluaran. Skim yang sangat menarik. Pereka radio mempunyai sesuatu untuk difikirkan. Sebagai contoh, isyarat yang ditunjukkan dalam graf ketiga ialah isyarat PWM gelombang sinus.
Sudah tentu, julat penggunaan elemen "eksklusif ATAU" adalah lebih luas. Saya telah menyampaikan di sini, pada pendapat saya, lebih menarik untuk amatur radio.