En la logiko, la disaŭo[1] estas logika operacio, kiu nur tiam rezultigas veron, se ĝuste unu (sed ne ambaŭ) el du argumentoj estas vera.
Ĝia vertabelo do estas (uzataj valoroj estas mallongigoj de Vera kaj Malvera):
A | M | M | V | V |
---|---|---|---|---|
B | M | V | M | V |
A ⊕ B | M | V | V | M |
La alia maniero skribi la saman vertabelon estas per uzo de nombro 1 por vera kaj 0 por malvera:
A | B | A ^ B |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
La operacio estadas skribita per signo ^ (kodo deksesuma 5E en unikodo) aŭ per signo ⊕ (kodo deksesuma 2295 en unikodo, ⊕ en HTML).
Ankaŭ signoj + kaj ≠ estadas uzataj, ilia uzado havas pravigojn. Fakte disaŭo estas adicio per modulo 2,
- (a^b) mod 2 = (a+b) mod 2 .
Uzadon de signo de neegalaĵo ≠ pravigas tio ke vere la disaŭo donas rezulton Vero se la argumentoj ne egalas unu al la alia.
La disaŭo povas esti esprimita per la aliaj logikaj operacioj:
- a^b = (a&(~b)) | ((~a)&b)
- = (a|b) & ((~a)|(~b))
- = (a|b) & (~(a&b))
Laŭbita logika disaŭo same operacias sur ĉiu paro da sampoziciaj bitoj de du nombroj kaj produktas la rezultan nombron. Ekzemple (la nombroj estas deksesumaj) 0x567F ^ 0x8CA1 = 0xDADE. Duume:
0101011001111111 1000110010100001 ---------------- 1101101011011110
Disaŭo estas asocieca kaj komuta.
En elektroniko por disaŭo estas specialaj logikaj elementoj, ili povas havi pli ol du enenirojn.
Terminologia noto
Aliaj terminoj proponitaj de vikipediistoj: «Ekskluziva aŭ(o)», «Malinkluziva aŭ(o)», «Logika neinkluziva aŭo» kiuj diversmaniere paŭsas la anglan Exclusive or estas same maltrafaj, kiel ilia angla originalo. «Malinlukdo» laŭ la komunlingva logiko devus signifi komplementon, t.e. malaŭon, «nek a nek b». Disaŭo tamen ne estas malaŭo, ĝi estas simetria diferenco, ĝi veras se la argumentoj estas disaj (tio fakte estas la etimo de DISjunkcio, kiu tamen en la matematika terminaro ricevis la kontraŭetiman signifon de kajaŭo). Ĉiel ajn, la esperanta disaŭo elegante profitas de la lingvaj rimedoj por trafe nomi la operacion. (Cetere, ĝi similas la rusan «разделителительное ИЛИ», t.e. «disiga AŬ».)