Naar inhoud springen

Booleaanse operator

Uit Wikipedia, de vrije encyclopedie
Dit is een oude versie van deze pagina, bewerkt door Magere Hein (overleg | bijdragen) op 24 jan 2019 om 12:34. (Bewerkingen door 2A02:1811:E509:8100:EC09:C781:320F:D1F5 (overleg) teruggedraaid tot de laatste versie van Patrick. OR, niet optelling)
Deze versie kan sterk verschillen van de huidige versie van deze pagina.
De 16 booleaanse functies van twee variabelen

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 1 of 2.

Algemeen gebruikte eenplaatsige logische operator

NOT

resultaat = NOT A

Gestandaardiseerd symbool:

Andere symbolen: ! ¬

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

A R
0 1
1 0
Meer informatie: NOT-poort

NOT A wordt ook vaak genoteerd als ~A.

Algemeen gebruikte tweeplaatsige logische operatoren

XOR ("eXclusive OR")

resultaat = A XOR B

Gestandaardiseerd symbool:

Andere symbolen:

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) en aan A ≠ B.

A B R
0 0 0
0 1 1
1 0 1
1 1 0
Meer informatie: XOR-poort

AND

resultaat = A AND B

Gestandaardiseerd symbool:

Andere symbolen: & && /\ ⋅

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

A B R
0 0 0
0 1 0
1 0 0
1 1 1
Meer informatie: AND-poort

NAND ("Not AND")

resultaat = A NAND B

Gestandaardiseerd symbool:

 

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
Meer informatie: NAND-poort

OR

resultaat = A OR B

Gestandaardiseerd symbool:

Andere symbolen: | || \/ +

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
Meer informatie: OR-poort

NOR ("Not OR")

resultaat = A NOR B

Gestandaardiseerd symbool:

 

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
Meer informatie: NOR-poort

Toepassingen

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

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 encryptiesystemen, 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

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

Waarbij:

Het aantal mogelijke operatoren
N Het aantal ingangsparameters.

Immers een waarheidstabel met N parameters heeft maximaal mogelijke combinaties, die weer kunnen resulteren in mogelijke resultaatkolommen.

Parameters   Functies, dat wil zeggen alle mogelijke resultaatkolommen
A B 0 A ⊽ B (∼ A) ⋀ B ∼ A A ⋀ ∼ B ∼ B A ⊻ B A ⊼ B A ⋀ B ∼ (A ⊻ B) B (∼ A) ⋁ B A A ⋁ ∼ B A ⋁ B 1
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

Zie ook