Booleska uttryck
De logiska grindarna har faktiskt också en plats i matematikens värld, och det är i booleska uttryck.
Istället för att rita upp grindnät för att beskriva hur signaler ska kopplas ihop, kan man göra det ännu mer kompakt med booleska uttryck.
För att beskriva att man har en signal som är 1 när både och är 1, skriver man
eller
Det ser ju ut som multiplikation!? Ja, sanningen är att AND-grinden ÄR multiplikation. Det viktiga att komma ihåg är booleska uttryck hanterar bara binära signaler, alltså endast 0 eller 1.
Hur skrivs då resten av grindarna med booleska uttryck?
OR skrivs med ett + (plus), till exempel . Det fungerar faktiskt precis som vi tänker oss för de flesta fallen:
Men vad händer när både och är 1? Eftersom vi jobbar med binära signaler så kan inte bli större än 1!
utan
NOT skrivs med ett prim-tecken över signalen, till exempel (Det har ingenting att göra med derivata från matematik 3). Det finns bara två fall:
XOR skrivs med ett , vilket inte finns i vanlig matematik. När man räknar med XOR kan man tänka sig att man:
- Adderar de två signalerna
- Utsignalen blir 1 om summan blev lika med 1, annars 0.
Här är alla möjliga kombinationer:
Prioriteringsregler
Som tidigare nämnt kan grindnät bestå av flera grindar som är sammankopplade.
Exempelvis , vilket ser ut såhär:
Som tur är fungerar de klassiska prioriteringsreglerna från matematiken: multiplikation före addition. Därför ger samma resultat.
Prioritet | Klassisk matematik | Boolesk matematik |
---|---|---|
1 | Parenteser | Parenteser |
2 | Potenser | NOT |
3 | Multiplikation / division | AND / XOR |
4 | Addition | OR |