W linii 5. najpierw przypisujemy aktualną wartość x (x = -1) zmiennej y (y = -1) i dopiero potem zmniejszamy x o jeden (x = -2). W linii 6. wyświetlamy wartość y(y = -1). W linii 7. najpierw zmniejszamy x o jeden (x ■ -3), a następnie przypisujemy tę wartość y (y = -3). W linii 8. wyświetlamy wartość y (y = -3). W linii ostatniej, 9., najpierw zmniejszamy y o jeden (y = -4), a dopiero potem wyświetlamy tę wartość na ekranie.
Operatory bitowe służą, jak sama nazwa wskazuje, do wykonywania operacji na bitach. Aby się z nimi bliżej zapoznać, musimy jednak przypomnieć sobie przynajmniej podstawowe informacje na temat systemu dwójkowego. W systemie dziesiętnym, z którego korzystamy na co dzień, jest wykorzystywane dziesięć cyfr, od 0 do 9. W systemie dwójkowym będą zatem wykorzystywane jedynie dwie cyfry: 0 i 1. Kolejne liczby są budowane z tych dwóch cyfr tak samo jak w systemie dziesiętnym, co przedstawia tabela 2.5. Widać wyraźnie, że np. 4 dziesiętnie to 100 dwójkowo, a 10 dziesiętnie — to 1010 dwójkowo.
“arela 2.5. Kolejne 15 liczb w systemie dwójkowym i ich odpowiedniki w systemie dziesiętnym
System dwójkowy |
System dziesiętny |
0 | |
2 | |
4 | |
110 |
6 |
pil |
7 |
MGO |
8 |
MOI |
9 |
10 | |
1011 |
11 |
1100 |
12 |
1101 |
13 |
iiio |
14 |
1111 |
15 |
Występujące w PHP operatory bitowe to: iloczyn bitowy (koniunkcja bitowa, operacja AND), suma bitowa (alternatywa bitowa, operacja 0R), negacja bitowa (uzupełnienie do jedynki, operacja NOT), suma bitowa modulo 2 (alternatywa bitowa wykluczająca, różnica symetryczna, operacja X0R) oraz operacje przesunięć bitów. Są one zebrane w tabeli 2.6. Wszystkie operatory są dwuargumentowe, oprócz operatora bitowej negacji, który jest jednoargumentowy. Przykład wykonywania operacji bitowych obrazuje skrypt widoczny na listingu 2.15.