Boolsche Algebra

weitersagen ...
Tweet about this on TwitterShare on FacebookShare on Google+Share on LinkedIn

…oder warum %10 UND %10 gleich %10 ist.

Schauen wir uns mal die Boolsche Algebra an, wie man damit Binärzahlen manipulieren kann.

 

Wozu brauchen wir die Boolsche Algebra überhaupt?

Häufig müssen wir innerhalb eines Bytes ein einzelnes Bit prüfen oder setzen. So werden z. B. in einem Register (ein Byte im Speicher) die acht möglichen Sprites an- und abgeschaltet. Möchten wir jetzt das dritte Sprite (intern hat es die Nr. 2, da man bei 0 mit dem Zählen beginnt) anzeigen, könnten wir natürlich direkt eine 4 (%00000100) in das Register schreiben. Das Problem ist nur, dass dann alle anderen Sprites abgeschaltet werden. Hier kommt nun die Boolsche Algebra ins Spiel, beginnen wir mit dem ersten boolschen Operator:

 

1. AND (UND / Konjunktion)

Wie man sieht, wird ein Bit nur dann 1, wenn beide Bits diesen Wert haben, also wenn Bit-A UND Bit-B 1 sind.

Praxisbeispiel:
Möchten wir jetzt z. B. nur das dritte Sprite abschalten, so können wir den Registerinhalt einfach mit einem AND so verändern, dass nur das dritte Bit auf Null gesetzt wird und alle anderen unverändert bleiben.

Wie wir oben gelernt haben, wird das Ergebnis bei einem AND nur 1 wenn beide Bits auf 1 stehen. Indem wir nun alle Bits bis auf das zu löschende (hier das 3. Bit) auf 1 setzen wird nur das 3. Bit gelöscht, der Rest bleibt unverändert.

 

2. OR (ODER / Disjunktion)

Beim OR wird ein Bit immer dann 1, wenn ein oder beide Bits auf 1 stehen, also wenn Bit-A und/ODER Bit-B 1 sind.

Praxisbeispiel:
Möchten wir, wie Eingangs ausgeführt, das dritte Sprite anschalten so sollten wir dies mit einem OR machen.

Da beim OR das Ergebnis 1 wird, wenn das eine und/oder das andere Bit 1 ist, reicht es nur die zusetzenden Bits auf 1 zu setzen und dies per OR mit dem Register zu verknüpfen.

 

3. EOR häufig auch XOR (exclusiv or / ausschließendes ODER)

Beim EOR  wird ein Bit nur dann 1, wenn genau eins der beiden auf 1 steht, also wenn NUR Bit-A ODER NUR Bit-B 1 sind.

Praxisbeispiel:
Das EOR findet im Vergleich zu den anderen drei Operanten seltener Anwendung. Nehmen wir mal an, wir möchten das erste und dritte Sprite durch an- / abschalten blinken lassen.

Wie wir sehen, werden das erste und dritte Bit bei einem Durchlauf an- und beim nächsten wieder abgeschaltet, da beim EOR das Ergebnis nur dann 1 wird, wenn genau eins der beiden Bits den Wert 1 hat. Man könnte dies auch durch eine Kombination aus AND & OR erreichen, aber das würde das Programm nur unnötig aufblähen und verlangsamen.

 

4. NOT (NICHT / Negation)

Bei einem NOT wird jedes Bit umgekehrt, also aus 0 wird 1 und aus 1 wird 0. NOT wird häufig verwendet um Masken für weitere Operationen zu bilden.

Praxisbeispiel:
Wir möchten die oberen vier Sprites und die unteren abwechselnd blinken lassen.

Beim NOT wird kein zweiter Wert benötigt. Es ist ein sog. Unärer-Operator, im Gegensatz zu AND, OR und EOR die Binäre-Operatoren sind, da dort immer zwei Werte benötigt werden.

 


Schrott!!Naja...Geht so...Ganz gut...SUPER! (7 Bewertungen | Ø 5,00 von 5 | 100,00%)

Loading...


 

<<< zurück | weiter >>>

weitersagen ...
Tweet about this on TwitterShare on FacebookShare on Google+Share on LinkedIn

Schreibe einen Kommentar


Beachtet bitte, dass ich eure Kommentare erst manuell freigegeben muß, bevor sie auf der Seite erscheinen! Da ich nicht pausenlos am Rechner sitze, kann es schon mal etwas dauern, bis ein Kommentar für alle sichtbar ist.

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Protected by WP Anti Spam