Bitweise Operatoren

Innerhalb eines Computers sind alle Variablen als eine Kette von Bits hinterlegt. Ein Bit ist ein Schaltzustand, der entweder ein oder aus sein kann. Dieses wird mit einer 1 oder einer 0 symbolisiert. Nun ist es möglich, Zahlen in diese Binärsystem umzurechnen. Beispielsweise würde eine dezimale 7 binär als 111 dargestellt werden. Eine dezimale 10 als 1010.

Die bitweisen Operatoren, die auf diesen Zahlen arbeiten, sind die folgenden:

  • Und (&): 1010&111 ergibt 10.
  • Oder (|): 1010|111 ergibt 1111.
  • Entweder-Oder (XOR) (^): 1010 ^ 111 ergibt 1101.
  • Negierung (~): ~1010 ergibt theoretisch 101. Da jedoch PHP keine dreibittigen Zahlen verwaltet, ist die Zahl in einer 32-bittigen Darstellung gespeichert und es wird 11111111111111111111111111110101 ausgegeben. Die zuviel ausgegeben Stellen werden jedoch in vielen Anwendungen automatisch ignoriert.
  • Shift nach links und nach rechts (<< und >>): Vor dem doppelten Kleiner-Größer-Zeichen steht die zu schiftende Zahl. Nach dem Zeichen steht, um wie viele Stellen diese verschoben werden soll. Somit ergibt 111<<2 dann 11100 und 1010>>1 ergibt 101.

Im Beispiel oben sind die Zahlen immer binär angegeben. Zu beachten ist, dass diese in PHP in Dezimalschreibweise übergeben werden. Dies ist für den Programmierer verwirrend, da er zwischen den beiden Zahlensystemen umrechnen muss. Bitweise Operatoren werden deshalb heutzutage nur noch selten verwendet.

Schreibe einen Kommentar

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