Lohikal na xor. Mas kumplikadong mga elemento ng lohika. Mga tampok ng operasyon ng XOR


Operator Syntax Paglalarawan
AT A AT B Pang-ugnay: Kung ang A at B ay Tama, kung gayon ay Tama. Kung hindi - Mali
O A O B Disjunction: Kung ang alinman sa mga operand ay Tama, kung gayon ay Tama. Kung hindi - Mali
HINDI HINDI A Negasyon: Kung ang A ay Mali, kung gayon ito ay Tama. Kung hindi - Mali
XOR A XOR B Exception: Kung Tama ang A o Tama ang B, kung gayon - Tama. Kung hindi - Mali
EQV A EQV B Pagkakatumbas: Kung ang A ay may parehong halaga bilang B, kung gayon ito ay Totoo. Kung hindi - Mali
IMP Isang IMP B Implikasyon: Kung ang A ay Tama at ang B ay Mali, kung gayon ay Mali. Kung hindi - Totoo

Ang operand para sa isang Boolean operator ay maaaring maging anumang wastong expression na may resulta ng Boolean, pati na rin ang isang numero na maaaring ma-convert sa isang Boolean na halaga.

Ang resulta ng isang lohikal na operasyon ay isang halaga ng uri ng Boolean (o Null kung hindi bababa sa isa sa mga operand ay Null).

Lohikal na operator AT

Syntax:
Operand_1 AT Operand_2


Ang AND operator ay gumaganap lohikal na pang-ugnay.

Ang resulta ng operasyong ito ay True lamang kapag ang parehong mga operand ay True, kung hindi ay Mali.


Talaan ng katotohanan


Ang AND operator ay maaaring gamitin para sa maramihang mga operand:


(5 3) AT (5=6) ang magiging resulta ay Mali


Anuman ang bilang ng mga operand, ang resulta ng lohikal na AND operation ay magiging True lamang kung ang lahat ng operand ng expression ay magsusuri sa True. Sa anumang iba pang kaso ang resulta ay magiging Mali. Tandaan na ang mga operand ay nakapaloob sa mga panaklong. Sinusuri muna ng VBA ang halaga ng bawat operand sa loob ng mga panaklong, at pagkatapos ay ang buong expression.

Lohikal na operator O

Syntax:
Operand_1 O Operand_2


Ginagawa ng OR operator lohikal na disjunction.

Ang resulta ng operasyong ito ay True kung ang isa man lang sa mga operand ay True, kung hindi ay Mali.


Talaan ng katotohanan


Ang OR operator ay maaaring gamitin para sa maramihang mga operand:


(5 3) O (5=6) ang magiging resulta ay Tama


Anuman ang bilang ng mga operand, ang resulta ng lohikal na OR na operasyon ay palaging True kung kahit isa sa mga operand ng expression ay True. Kung hindi, ang resulta ay magiging Mali.

Maaaring pagsamahin ang AND at OR operator:


((5 3)) O (5=6) ang magiging resulta ay Tama

Logical operator HINDI

Syntax:
HINDI Operand


Ginagawa ng NOT operator lohikal na negasyon.

Ang NOT operator ay gumagamit lamang ng isang operand.


Talaan ng katotohanan


AT O HINDI ang mga operator ay maaaring pagsamahin:


((5 3)) O HINDI (5=6) ang magiging resulta ay Tama

Lohikal na operator XOR

Syntax:
Operand_1 XOR Operand_2


Ginagawa ng XOR operator lohikal na pagbubukod.

Ang resulta ng operasyong ito ay True kung ang mga operand ay may iba't ibang mga halaga, kung hindi, Mali.


Talaan ng katotohanan


((5 3)) O HINDI (5=6) XOR (5=5) ang magiging resulta ay Mali

Lohikal na operator EQV

Syntax:
Operand_1 EQV Operand_2


Ang operator ng EQV ay ang operator lohikal na pagkakapareho.

Ang resulta ng operasyong ito ay True kung ang mga operand ay may parehong mga halaga, kung hindi, Mali.


Talaan ng katotohanan


((5 3)) O HINDI (5=6) EQV (5=5) ang magiging resulta ay Tama

Logical operator IMP

Syntax:
Operand_1 IMP Operand_2


Ang operator ng IMP ay nagsasagawa ng lohikal na operasyon implikasyon.


Talaan ng katotohanan


((5 3)) O HINDI (5=6) IMP (5=5) ang magiging resulta ay Tama


Ang IMP logical operator ay ang hindi gaanong intuitive sa lahat ng logical operator. Sa kabutihang palad, ang pangangailangan na gamitin ito ay medyo bihira.

Kadalasan, upang maipakita ang mga limitadong kakayahan ng mga single-layer na perceptron kapag nilulutas ang mga problema, ginagamit nila ang pagsasaalang-alang sa tinatawag na problema. XOR – eksklusibo O.

Ang kakanyahan ng gawain ay ang mga sumusunod. Ang lohikal na function na XOR ay ibinigay - eksklusibong OR. Ito ay isang function ng dalawang argumento, ang bawat isa ay maaaring zero o isa. Kinakailangan ang value , kapag ang isa sa mga argumento ay katumbas ng isa, ngunit hindi pareho, kung hindi man . Ang problema ay maaaring ilarawan gamit ang isang single-layer, single-neuron, two-input system, na ipinapakita sa figure sa ibaba.

Tukuyin natin ang isang input sa pamamagitan ng , at ang isa pa sa pamamagitan ng , pagkatapos ang lahat ng kanilang posibleng kumbinasyon ay bubuo ng apat na puntos sa eroplano. Ipinapakita ng talahanayan sa ibaba ang kinakailangang ugnayan sa pagitan ng mga input at output, kung saan ang mga kumbinasyon ng input na dapat makagawa ng zero na output ay may label at , ang isang output ay may label at .

Mga puntos Ibig sabihin Ibig sabihin Kinakailangang output
0 0 0
1 0 1
0 1 1
1 1 0

Ang isang neuron na may dalawang input ay maaaring bumuo ng isang ibabaw ng desisyon sa anyo ng isang arbitrary na tuwid na linya. Upang maipatupad ng network ang function na XOR na tinukoy sa talahanayan sa itaas, kailangan mong iposisyon ang linya upang ang mga punto ay nasa isang gilid ng linya, at ang mga punto ay nasa kabilang linya. Ang pagkakaroon ng pagsubok na gumuhit ng tulad ng isang tuwid na linya sa figure sa ibaba, kami ay kumbinsido na ito ay imposible. Nangangahulugan ito na kahit na anong mga halaga ang itinalaga sa mga timbang at threshold, ang isang solong-layer na neural network ay hindi magagawang kopyahin ang relasyon sa pagitan ng input at output na kinakailangan upang kumatawan sa XOR function.

Gayunpaman, ang XOR function ay madaling nabuo ng isang dalawang-layer na network, at sa maraming paraan. Isaalang-alang natin ang isa sa mga pamamaraang ito. I-modernize natin ang network sa figure sa pamamagitan ng pagdaragdag ng isa pang nakatagong layer ng mga neuron:

Tandaan na ang network na ito ay ibinibigay kung ano, i.e. maaari nating ipagpalagay na siya ay sinanay na. Ang mga numero sa itaas ng mga arrow ay nagpapakita ng mga halaga ng synaptic na timbang. Bilang activation function, gagamit kami ng isang jump function na may threshold na mayroong sumusunod na graph:

Pagkatapos ang resulta ng pagpapatakbo ng naturang neural network ay maaaring iharap sa anyo ng sumusunod na talahanayan:

Mga puntos Ibig sabihin Ibig sabihin Kinakailangang output
0 0 0 0 0 0
1 0 1 1 0 1
0 1 1 0 1 1
1 1 0 0 0 0

Ang bawat isa sa dalawang neuron ng unang layer ay bumubuo ng isang ibabaw ng desisyon sa anyo ng isang arbitrary na tuwid na linya (hinahati ang eroplano sa dalawang kalahating eroplano), at ang neuron ng output layer ay pinagsasama ang dalawang solusyon na ito, na bumubuo ng isang ibabaw ng desisyon sa anyo ng isang strip na nabuo sa pamamagitan ng parallel straight lines ng mga neuron ng unang layer:

Ang neural network na ginamit sa artikulong ito upang malutas ang problema sa XOR ay primitive at hindi lubos na sinasamantala ang mga kakayahan ng mga multilayer network. Malinaw na ang mga multilayer na neural network ay may higit na kapangyarihan na kumakatawan sa mga single-layer lamang sa pagkakaroon ng nonlinearity. At sa network na ito, inilapat ang isang threshold linear activation function. Ang ganitong network ay hindi maaaring sanayin, halimbawa, gamit ang isang backpropagation algorithm.

Ang isang de-koryenteng circuit na idinisenyo upang magsagawa ng ilang lohikal na operasyon sa data ng pag-input ay tinatawag na elemento ng lohika. Ang data ng input ay kinakatawan dito sa anyo ng mga boltahe ng iba't ibang antas, at ang resulta ng lohikal na operasyon sa output ay nakuha din sa anyo ng isang boltahe ng isang tiyak na antas.

Sa kasong ito, ang mga operand ay ibinibigay - ang mga signal sa anyo ng isang mataas o mababang antas ng boltahe ay natanggap sa input ng elemento ng lohika, na mahalagang nagsisilbing data ng input. Kaya, ang isang mataas na antas ng boltahe - isang lohikal na 1 - ay nagpapahiwatig ng isang tunay na halaga ng operand, at isang mababang antas ng boltahe 0 - isang maling halaga. 1 - TAMA, 0 - MALI.

Elemento ng lohika- isang elemento na nagpapatupad ng ilang lohikal na relasyon sa pagitan ng input at output signal. Ang mga elemento ng lohika ay karaniwang ginagamit upang bumuo ng mga lohikal na circuit ng mga computer at mga discrete na awtomatikong monitoring at control circuit. Ang lahat ng mga uri ng lohikal na elemento, anuman ang kanilang pisikal na katangian, ay nailalarawan sa pamamagitan ng mga discrete na halaga ng input at output signal.

Ang mga elemento ng lohika ay may isa o higit pang mga input at isa o dalawa (karaniwang kabaligtaran sa bawat isa) na mga output. Ang mga halaga ng mga "zero" at "mga" ng mga signal ng output ng mga lohikal na elemento ay tinutukoy ng lohikal na pag-andar na ginagawa ng elemento, at ang mga halaga ng "zero" at "mga" ng mga signal ng input, na naglalaro ang papel ng mga independyenteng variable. May mga elementarya na lohikal na pag-andar kung saan maaaring buuin ang anumang kumplikadong lohikal na pag-andar.

Depende sa disenyo ng circuit ng elemento, sa mga de-koryenteng parameter nito, ang mga lohikal na antas (mataas at mababang antas ng boltahe) ng input at output ay may parehong mga halaga para sa mataas at mababa (totoo at mali) na estado.

Ayon sa kaugalian, ang mga elemento ng lohika ay ginawa sa anyo ng mga espesyal na bahagi ng radyo - mga integrated circuit. Ang mga lohikal na operasyon tulad ng conjunction, disjunction, negation at modulo addition (AT, O, HINDI, XOR) ay ang mga pangunahing operasyong ginagawa sa mga pangunahing uri ng logical gate. Susunod, tingnan natin ang bawat isa sa mga ganitong uri ng elemento ng lohika nang mas malapit.

Logic element na "AT" - conjunction, logical multiplication, AT


Ang "AT" ay isang lohikal na elemento na nagsasagawa ng conjunction o logical multiplication operation sa input data. Ang elementong ito ay maaaring magkaroon ng mula 2 hanggang 8 (ang pinakakaraniwan sa produksyon ay "AT" na mga elemento na may 2, 3, 4 at 8 na input) na mga input at isang output.

Ang mga simbolo ng mga lohikal na elemento na "AT" na may iba't ibang bilang ng mga input ay ipinapakita sa figure. Sa teksto, ang isang lohikal na elemento na "AT" na may isa o isa pang bilang ng mga input ay itinalaga bilang "2I", "4I", atbp. - isang "AT" na elemento na may dalawang input, na may apat na input, atbp.


Ang talahanayan ng katotohanan para sa elemento 2I ay nagpapakita na ang output ng elemento ay magiging isang lohikal lamang kung ang mga lohikal ay sabay-sabay sa unang input AT sa pangalawang input. Sa natitirang tatlong posibleng kaso, magiging zero ang output.

Sa mga Western diagram, ang icon ng elemento na "AT" ay may tuwid na linya sa input at isang bilog na linya sa output. Sa mga domestic diagram - isang parihaba na may simbolo na "&".

Lohikal na elemento "OR" - disjunction, lohikal na karagdagan, OR


Ang "OR" ay isang lohikal na elemento na nagsasagawa ng disjunction o lohikal na pagdaragdag na operasyon sa input data. Ito, tulad ng elementong "I", ay available na may dalawa, tatlo, apat, atbp. na mga input at isang output. Ang mga simbolo ng mga lohikal na elemento "OR" na may iba't ibang bilang ng mga input ay ipinapakita sa figure. Ang mga elementong ito ay itinalaga bilang mga sumusunod: 2OR, 3OR, 4OR, atbp.


Ang talahanayan ng katotohanan para sa "2OR" na elemento ay nagpapakita na para sa isang lohikal na lumabas sa output, sapat na ang lohikal na isa ay nasa unang input O sa pangalawang input. Kung mayroong mga lohikal sa dalawang input nang sabay-sabay, ang output ay magiging isa rin.

Sa mga Western diagram, ang icon ng elemento na "OR" ay may bilugan na input at isang bilugan, nakatutok na output. Sa mga domestic diagram mayroong isang parihaba na may simbolo na "1".

Logic element na "HINDI" - negation, inverter, NOT

Ang "HINDI" ay isang lohikal na elemento na nagsasagawa ng lohikal na pagpapatakbo ng negation sa input data. Ang elementong ito, na may isang output at isang input lamang, ay tinatawag ding inverter, dahil ito ay aktwal na binabaligtad (binabaliktad) ang input signal. Ipinapakita ng figure ang simbolo para sa lohikal na elemento na "HINDI".

Ang talahanayan ng katotohanan para sa isang inverter ay nagpapakita na ang isang mataas na potensyal ng input ay gumagawa ng isang mababang potensyal na output at vice versa.

Sa mga Western diagram, ang icon ng elemento na "HINDI" ay may hugis ng isang tatsulok na may bilog sa output. Sa mga domestic diagram mayroong isang rektanggulo na may simbolo na "1", na may isang bilog sa output.

Logic element "NAND" - conjunction (logical multiplication) na may negation, NAND

Ang "AT-HINDI" ay isang lohikal na elemento na nagsasagawa ng lohikal na pagdaragdag na operasyon sa data ng pag-input, at pagkatapos ay isang lohikal na operasyon ng negation, ang resulta ay ipinadala sa output. Sa madaling salita, ito ay karaniwang isang "AT" na elemento, na kinukumpleto ng isang "HINDI" na elemento. Ipinapakita ng figure ang simbolo para sa lohikal na elemento na "2AT-HINDI".


Ang talahanayan ng katotohanan para sa gate ng NAND ay kabaligtaran ng talahanayan ng katotohanan para sa gate ng AND. Sa halip na tatlong zero at isang isa, mayroong tatlo at isang zero. Ang elemento ng NAND ay tinatawag ding "elemento ng Schaeffer" bilang parangal sa mathematician na si Henry Maurice Schaeffer, na unang nabanggit ang kahalagahan nito noong 1913. Tinutukoy bilang "I", na may bilog lamang sa output.

Lohikal na elemento "OR-NOT" - disjunction (lohikal na karagdagan) na may negation, NOR

Ang "OR-NOT" ay isang lohikal na elemento na nagsasagawa ng lohikal na pagdaragdag na operasyon sa input data, at pagkatapos ay isang lohikal na negation operation, ang resulta ay ipinadala sa output. Sa madaling salita, ito ay isang "OR" na elemento na pupunan ng isang "HINDI" na elemento - isang inverter. Ipinapakita ng figure ang simbolo para sa lohikal na elemento na "2OR-NOT".


Ang talahanayan ng katotohanan para sa isang gate ng OR ay ang kabaligtaran ng talahanayan ng katotohanan para sa isang gate ng OR. Ang isang mataas na potensyal na output ay nakuha lamang sa isang kaso - ang mga mababang potensyal ay sabay-sabay na inilalapat sa parehong mga input. Ito ay itinalaga bilang "OR", na may bilog lamang sa output na nagpapahiwatig ng pagbabaligtad.

Logic gate "eksklusibo O" - karagdagan modulo 2, XOR

Ang "eksklusibong OR" ay isang lohikal na elemento na nagsasagawa ng lohikal na pagdaragdag na operasyon modulo 2 sa input data, may dalawang input at isang output. Kadalasan ang mga elementong ito ay ginagamit sa mga control circuit. Ipinapakita ng figure ang simbolo para sa elementong ito.

Ang imahe sa mga Western circuit ay parang "OR" na may karagdagang curved strip sa input side, sa mga domestic ay parang "OR", tanging sa halip na "1" ito ay isusulat na "=1".


Ang lohikal na elementong ito ay tinatawag ding "unequivalence". Ang mataas na antas ng boltahe ay nasa output lamang kapag ang mga signal sa input ay hindi pantay (isa ay isa, ang isa ay zero, o isa ay zero, at ang isa ay isa), kahit na mayroong dalawa sa input sa parehong oras, ang output ay magiging zero - ito ang pagkakaiba mula sa "OR". Ang mga elemento ng lohika na ito ay malawakang ginagamit sa mga adder.

Ang bit ay ang pinakamababang yunit ng pagsukat para sa dami ng impormasyon, dahil nag-iimbak ito ng isa sa dalawang halaga - 0 (Mali) o 1 (Totoo). Ang False at True ay isinalin sa Russian bilang kasinungalingan at katotohanan, ayon sa pagkakabanggit. Iyon ay, ang isang bit cell ay maaaring nasa isang estado lamang sa dalawang posible sa isang pagkakataon. Hayaan mong ipaalala ko sa iyo na ang dalawang posibleng estado ng isang bit cell ay 1 at 0.
Mayroong ilang mga operasyon para sa pagmamanipula ng mga bit. Ang mga operasyong ito ay tinatawag na lohikal o Boolean na mga operasyon, na ipinangalan sa isa sa mga mathematician, si George Boole (1815-1864), na nag-ambag sa pag-unlad ng larangang ito ng agham.
Ang lahat ng mga operasyong ito ay maaaring ilapat sa anumang bit, hindi alintana kung mayroon itong halaga na 0 (zero) o 1 (isa). Nasa ibaba ang mga pangunahing lohikal na operasyon at mga halimbawa ng kanilang paggamit.

Lohikal AT operasyon

AT Notasyon: &

Ang lohikal na AT operasyon ay ginanap sa dalawang bits, tawagan natin sila a at b. Ang resulta ng pagsasagawa ng lohikal na operasyong AT ay magiging katumbas ng 1 kung ang a at b ay katumbas ng 1, at sa lahat ng iba pang mga kaso, ang resulta ay magiging katumbas ng 0. Tinitingnan natin ang talahanayan ng katotohanan ng lohikal na operasyon at.

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

Lohikal O operasyon

O pagtatalaga: |

Ang lohikal na OR na operasyon ay ginaganap sa dalawang bits (a at b). Ang resulta ng isang lohikal na OR na operasyon ay magiging 0 kung ang a at b ay katumbas ng 0 (zero), at sa lahat ng iba pang (iba pang) kaso, ang resulta ay 1 (isa). Tinitingnan namin ang talahanayan ng katotohanan ng lohikal na operasyon OR.

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

Eksklusibong lohikal na operasyon O (XOR).

XOR notation: ^
Ang lohikal na eksklusibong OR na operasyon ay ginaganap sa dalawang bits (a at b). Ang resulta ng lohikal na operasyon ng XOR ay magiging 1 (isa) kung ang isa sa mga bits a o b ay 1 (isa), ang resulta ay 0 (zero). Tinitingnan namin ang talahanayan ng katotohanan ng lohikal na operasyon na eksklusibo 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

Lohikal na operasyon HINDI (hindi)

Notasyon HINDI: ~
Ang isang lohikal na operasyon ay HINDI ginanap sa isang bit. Ang resulta ng lohikal na operasyong ito ay direktang nakasalalay sa estado ng bit. Kung ang bit ay nasa zero state, ang resulta ng NOT ay magiging katumbas ng isa at vice versa. Tinitingnan namin ang talahanayan ng katotohanan ng lohikal na operasyon na HINDI.

a(bit 1) ~a(negation ng bit)
0 1
1 0

Tandaan ang 4 na lohikal na operasyong ito. Gamit ang mga lohikal na operasyong ito makakakuha tayo ng anumang posibleng resulta. Basahin nang detalyado ang tungkol sa paggamit ng mga lohikal na operasyon sa C++.

Sa pagsasagawa, ang pinakakaraniwang ginagamit na dalawang-input na elemento ay "eksklusibo O". Sa Fig. Ipinapakita ng Figure 1 ang isang kumbensyonal na graphic na pagtatalaga ng isang elemento na walang inversion at ang talahanayan ng estado nito. Sa madaling salita, ang kakanyahan ng elementong ito ay bumababa sa mga sumusunod: ang output signal ay lilitaw lamang kapag ang mga lohikal na antas sa mga input ay hindi pareho.

Scheme para sa pagtukoy sa gilid at cutoff ng isang pulso

Sa circuit na ito, tatlong XOR gate ang ginagamit upang maantala ang mga pulso. DD1.4 - paglalagom. Ang mga output pulse ay may matatag na nangungunang mga gilid at bumabagsak na mga gilid. Ang tagal ng bawat output pulse ay katumbas ng triple ang switching delay time ng bawat isa sa tatlong elemento. Ang agwat ng oras sa pagitan ng mga gilid ng mga output pulse ay katumbas ng tagal ng input pulse. Dinodoble din ng device na ito ang frequency ng input signal.

May isa pang kawili-wiling ari-arian na tinatawag na "Eksklusibo O". Kung ang isang pare-parehong "0" ay inilapat sa isa sa mga input, kung gayon ang signal sa output ng elemento ay uulitin ang input signal, at kung ang pare-parehong "0" ay binago sa isang pare-parehong "1", kung gayon ang output signal ay isa nang pagbabaligtad ng input signal.

Minsan, kinakailangan na kumuha ng "eksklusibong OR" na gate mula sa mga indibidwal na karaniwang lohikal na gate. Ang isang halimbawa ay ang "eksklusibong OR" na elemento ng circuit na ipinatupad sa apat na 2-AT-HINDI na elemento. Ipinapakita ng Figure 3 ang isang XOR circuit sa apat na estado nito. Ipinapakita nito ang lahat ng posibleng antas ng lohika sa bawat isa sa 2-NAND gate na ginamit.

Ang mga nasabing elemento ay kasama sa diagram. Sa circuit na ito, ang elementong "Eksklusibo OR" ay gawa sa apat na 2-AND-NOT na elemento na kasama sa isang pakete ng K561LA7 microcircuit.

Discrete signal generator na may pagkakaiba sa dalas

Ang driver circuit ay ipinapakita sa Figure 4. Dito, ang eksklusibong OR logic element ay ipinapatupad din sa apat na 2-AND-NOT na elemento.

Ang mga rectangular pulse ay nahuhulog sa mga input 1 at 2 ng shaper (tingnan ang mga graph 1 at 2), na naiiba sa dalas ng pag-uulit. Ang isang node na batay sa mga lohikal na elemento DD1.1-DDI.4 ay nagpaparami sa mga signal na ito. Ang output pulse signal (graph 3) mula sa elementong DD1.4 ay pinapakain sa integrating circuit R3, C1, na nagko-convert nito sa isang triangular signal (graph 4) na may frequency na katumbas ng pagkakaiba sa frequency ng mga input signal, at op -amp DA1 ay nagko-convert ng natanggap na signal sa isang square wave (tingnan. iskedyul 5). Kinokontrol ng Resistor R1 ang tagal ng positibo at negatibong kalahating alon ng output signal. Isang napaka-kagiliw-giliw na pamamaraan. May dapat isipin ang taga-disenyo ng radyo. Halimbawa, ang signal na ipinapakita sa ikatlong graph ay isang sine wave na PWM signal.
Siyempre, mas malawak ang saklaw ng paggamit ng mga elementong "eksklusibo O". Iniharap ko dito, sa aking opinyon, mas kawili-wili para sa mga amateurs sa radyo.