Booleaanse operator

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

Een booleaanse operator is een logische operator die vooral in de wiskunde en informatica wordt gebruikt. Booleaanse operatoren zijn gebaseerd op de booleaanse algebra. Het resultaat van een booleaanse bewerking heeft slechts twee mogelijke resultaten: waar of onwaar. In verschillende talen die in de wiskunde en informatica worden gebruikt, bestaan er verschillende aanduidingen (tekens) voor de booleaanse operatoren. Een booleaanse operator is een booleaanse functie met ariteit 2.

Algemeen gebruikte logische operatoren[bewerken]

NOT[bewerken]

resultaat = NOT A
Het resultaat is tegenovergesteld. "NOT A" is onwaar als "A" waar is en als "A" onwaar is, is "NOT A" waar. Dit is een unaire (unary) operator, dat wil zeggen, met slechts een parameter. Alle anderen in deze lijst zijn binaire (binary) operatoren.

A R
0 1
1 0
Nuvola single chevron right.svg Meer informatie: NOT-poort

NOT A wordt ook vaak genoteerd als ~A.

AND[bewerken]

resultaat = A AND B
Het resultaat is waar als zowel "A" als "B" waar zijn, in alle andere gevallen is het resultaat onwaar.

1 1 1
Nuvola single chevron right.svg Meer informatie: AND-poort

NAND ("Not AND")[bewerken]

resultaat = A NAND B
Het resultaat is onwaar als zowel "A" als "B" waar zijn, in alle andere gevallen is het resultaat waar. Deze functie is equivalent aan NOT(A AND B)

A B R
0 0 1
0 1 1
1 0 1
1 1 0
Nuvola single chevron right.svg Meer informatie: NAND-poort

OR[bewerken]

resultaat = A OR B
Het resultaat is waar als "A" waar is of als "B" waar is of als beide waar zijn. Het resultaat is onwaar als zowel "A" als "B" onwaar zijn.

A B R
0 0 0
0 1 1
1 0 1
1 1 1
Nuvola single chevron right.svg Meer informatie: OR-poort

NOR ("Not OR")[bewerken]

resultaat = A NOR B
Het resultaat is waar als zowel "A" als "B" onwaar zijn, in alle andere gevallen is het resultaat onwaar. Deze functie is equivalent aan NOT(A OR B)

A B R
0 0 1
0 1 0
1 0 0
1 1 0
Nuvola single chevron right.svg Meer informatie: NOR-poort

XOR ("eXclusive OR")[bewerken]

resultaat = A XOR B
Het resultaat is waar als "A" waar is en "B" onwaar, of als "A" onwaar is en "B" waar. Als "A" en "B" beide waar zijn of beide onwaar zijn is het resultaat onwaar. Deze functie is equivalent aan (A AND NOT B) OR (B AND NOT A)

A B R
0 0 0
0 1 1
1 0 1
1 1 0
Nuvola single chevron right.svg Meer informatie: XOR-poort

Toepassingen[bewerken]

Booleaanse operatoren worden veel gebruikt. Door gebruik te maken van haakjes kunnen ook meerdere voorwaarden worden gecombineerd. Enkele voorbeelden:

  • Voorwaardelijke statements.
    In programmeertalen worden veel voorwaardelijke statements gebruikt. De voorwaarde dat getal "A" tussen 10 en 20 moet liggen wordt geformuleerd als
    if (A > 10 && A < 20) {...bewerking...} else {...andere bewerking...}.
    Waarbij de syntaxis per programmeertaal kan verschillen. In dit geval wordt de AND-operator opgeschreven als &&.
  • Selectiecriteria.
    Bij het zoeken door databestanden (zie ook SQL) worden vaak meerdere selectiecriteria gebruikt.
    SELECT * FROM tabelnaam WHERE veld1 > 10 AND veld1 < 20 OR (veld2 > 5).

Bitwise-bewerkingen[bewerken]

In de informatica kunnen deze bewerkingen ook op integerniveau worden uitgevoerd. Van twee getallen kan hiermee een ander getal worden gemaakt. Wat er gebeurt is dat elk overeenkomstig bit van beide getallen met de operator wordt behandeld (een "1" is waar en een "0" is onwaar), en dat het resultaat van elk van deze bewerkingen een bit vormt van het resulterend getal. Bijvoorbeeld deze bewerking: 25 OR 12 = 29.

Schrijf beide getallen binair op:

25: 00011001
12: 00001100
-------- Voer voor elk bit de OR-bewerking uit.
00011101 Resultaat is 29.

Dergelijke bewerkingen kunnen net zo goed op elke keten van lettertekens worden uitgevoerd, ook letters zijn immers voor de computer niets anders dan reeksen nullen en enen. De bitwise XOR-bewerking wordt vaak toegepast in simpele encryptie systemen, vooral omdat bij deze bewerking de oorspronkelijke invoer weer terug te krijgen is (dat geldt ook voor de NOT-bewerking, maar niet voor de AND- en OR-bewerking).

Gelimiteerd aantal[bewerken]

Het is tamelijk makkelijk aan te tonen dat er slechts zestien mogelijke booleaanse operatoren met twee parameters zijn. Algemeen geldt:

 n_{op} = 2^{2^N}: N,n_{op} \in \N, N \geq 1

Waarbij:

 n_{op} Het aantal mogelijke operatoren
N Het aantal ingangs parameters.

Immers een waarheidstabel met N parameters heeft maximaal T=2^N mogelijke combinaties, die weer kunnen resulteren in n_{op} = 2^T = 2^{2^N} mogelijke resultaat-kolommen.

parameters Functies, dat wil zeggen alle mogelijke resultaatkolommen.
A B 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
XOR 6
AND 8
OR 14

Zie ook[bewerken]