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&111ergibt10. - Oder (
|):1010|111ergibt1111. - Entweder-Oder (XOR) (
^):1010 ^ 111ergibt1101. - Negierung (
~):~1010ergibt theoretisch101. Da jedoch PHP keine dreibittigen Zahlen verwaltet, ist die Zahl in einer 32-bittigen Darstellung gespeichert und es wird11111111111111111111111111110101ausgegeben. 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 ergibt111<<2dann11100und1010>>1ergibt101.
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.
