Yksinomainen "tai" | |
---|---|
Modulo 2 lisäys, XOR | |
| |
totuustaulukko | |
logiikka portti | |
normaaleja muotoja | |
Disjunktiivinen | |
sidekalvo | |
Zhegalkinin polynomi | |
Jäsenyys valmiilla luokilla | |
Säästää 0 | Joo |
Säästää 1 | Ei |
Yksitoikkoinen | Ei |
lineaarinen | Joo |
Itsenäinen kaksinkertainen | Ei |
Yksinomainen "tai" ( modulo 2 -lisäys , XOR , tiukka disjunktio , bittikohtainen lisäys , maskin inversio , Zhegalkin-lisäys , looginen vähennyslasku , looginen ero ) - Boolen funktio sekä looginen ja bittikohtainen toiminta, kun kyseessä on kaksi muuttujaa, operaation tulos on tosi jos ja vain jos toinen argumenteista on tosi ja toinen epätosi. Kolmen muuttujan funktiolle (kolmiomainen yhteenlaskettu modulo 2) tai useamman muuttujan funktion tulos on tosi vain, kun nykyisen joukon muodostavien argumenttien lukumäärä yhtä suuri kuin 1 on pariton. Sellainen operaatio syntyy luonnollisesti jäännösrenkaassa modulo 2 , josta tulee operaation nimi.
Modulo 2 -lisäystä kutsutaan "eksklusiiviseksi tai" ja "tiukkaksi disjunktioksi" sen erottamiseksi "tavallisesta" (ei-poissulkevasta) loogisesta "tai" - ei-tiukka loogisesta disjunktiosta . Joukkoteoriassa summausmoduuli 2 vastaa kahden joukon symmetrisen eron toimintaa .
Tallennus voi olla etuliite (" Puolalainen tietue ") - operaatiomerkki sijoitetaan ennen operandia, infix - operaatiomerkki sijoitetaan operandien ja jälkiliitteen väliin - operaatiomerkki sijoitetaan operandien jälkeen. Kun operandien lukumäärä on enemmän kuin kaksi, etuliitteen ja jälkiliitteen merkinnät ovat taloudellisempia kuin infix-merkinnät. Yleisin merkintä on: ^ a ≠ b,
Unicodessa on symbolit modulo 2:n yhteenlaskulle: U+22BB ⊻ xor , U+2295 ⊕ ympyröity plus ja U+2A27 ⨧ plusmerkki alaindeksillä kaksi , U+2A52 ⩒ looginen tai pisteellä yläpuolella sekä symboli modulo summalle 2: U +2A0A ⨊ modulo kaksi summa .
Boolen algebrassa summaus modulo 2 on kahden, kolmen tai useamman muuttujan funktio (ne ovat myös operaation operandeja , ne ovat myös funktion argumentteja). Muuttujat voivat ottaa arvoja joukosta . Tulos kuuluu myös sarjaan . Tulos lasketaan yksinkertaisen säännön tai totuustaulukon mukaan . Arvojen sijasta voidaan käyttää mitä tahansa muuta sopivaa merkkiparia, esimerkiksi tai tai "false", "true", mutta samalla on tarpeen määrittää ensisijaisuus, esimerkiksi .
Totuustaulukot:
0 | 0 | 0 |
0 | yksi | yksi |
yksi | 0 | yksi |
yksi | yksi | 0 |
Sääntö: tulos on yhtä suuri , jos molemmat operandit ovat yhtä suuret; kaikissa muissa tapauksissa tulos on .
0 | 0 | 0 | 0 |
0 | 0 | yksi | yksi |
0 | yksi | 0 | yksi |
0 | yksi | yksi | 0 |
yksi | 0 | 0 | yksi |
yksi | 0 | yksi | 0 |
yksi | yksi | 0 | 0 |
yksi | yksi | yksi | yksi |
Sääntö: tulos on , jos yhtäsuurten operandien määrä on parillinen (nolla on myös parillinen luku), muuten tulos on .
C / C++ , Java , C# , Ruby , PHP , JavaScript , Python jne. bittikohtaista komplementtitoimintoa merkitään symbolilla " ^ " , Pascalissa , Delphissä , Adassa , Visual Basicissa varattu sana xor , kokoonpanossa kieli - samanniminen looginen komento. Tässä tapauksessa modulo 2 -lisäys suoritetaan kaikille vasemman ja oikean operandin biteille pareittain. Esimerkiksi,
jos
sitten
Boolen tyyppisten arvojen (tosi, epätosi) yksinomainen "tai" -toiminto suoritetaan eri tavalla eri ohjelmointikielissä. Esimerkiksi Delphi käyttää sisäänrakennettua XOR-operaattoria (esimerkki: ehto1 xor ehto2 ) . C :ssä C99 -standardista lähtien loogisen tyyppisten operandien " ^ " -operaattori palauttaa loogisen XOR-operaation tuloksen. C++ : ssa bool - loogisen tyypin " ^ " -operaattori palauttaa tuloksen kuvattujen sääntöjen mukaisesti, kun taas muissa tyypeissä sitä käytetään bittikohtaisesti.
Bittikohtaisen yksinomaisen "tai":n avulla voit vaihtaa kokonaislukumuuttujien arvoja ilman lisämuistia .
Luonnollisessa kielessä operaatio "modulo additio" vastaa kahta lauseketta:
Modulo 2 -lisäyksen ja luonnollisen kielen "joko ... tai ..." -konstruktin välinen samankaltaisuus tuodaan usein esiin. Yhdistelmälause "joko A tai B" on tosi, kun joko A tai B on tosi/epätosi, mutta ei molempia; muuten yhdistelmälause on väärä. Tämä vastaa täsmälleen Boolen algebran toiminnon määritelmää, jos "tosi" on merkitty symbolilla , ja "false" on merkitty .
Tätä operaatiota verrataan usein disjunktioon , koska ne ovat ominaisuuksiltaan hyvin samankaltaisia ja molemmat ovat samanlaisia kuin arkipuheen union "tai". Vertaa näiden toimintojen sääntöjä:
Toiminto sulkee pois viimeisen vaihtoehdon ("molemmat kerralla"), ja tästä syystä sitä kutsutaan poissulkevaksi "OR". Toiminto sisältää viimeisen vaihtoehdon ("molemmat kerralla"), ja sitä kutsutaan joskus tästä syystä kattavaksi "TAI". Luonnollisen kielen moniselitteisyys on se, että konjunktiota "tai" voidaan käyttää molemmissa tapauksissa.
Kvanttitietokoneissa modulo 2 -lisäyksen analogi on CNOT - portti .
Boolen operaatiot | |
---|---|
|