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.

Testa själv!

Testa att stoppa in 0 eller 1 för och i uttrycket ovan, vad blir svaret?

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:

  1. Adderar de två signalerna
  2. 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:

komplicerat grindnät

Som tur är fungerar de klassiska prioriteringsreglerna från matematiken: multiplikation före addition. Därför ger samma resultat.

PrioritetKlassisk matematikBoolesk matematik
1ParenteserParenteser
2PotenserNOT
3Multiplikation / divisionAND / XOR
4AdditionOR

Tips!

Det är aldrig fel att använda paranteser! Använd hellre för många om du är osäker på prioriteringsreglerna