Operatory bitowe
Założenie: Zrozumieć działanie operatorów bitowych w PHP i poznać ich podstawowe zastosowania.
Krok po kroku:
- Operatory bitowe AND (&): Ten operator porównuje bity dwóch liczb. Jeśli oba bity są 1, wynikowy bit jest 1, w przeciwnym razie 0.
- Przykład:
$a = 10; // binarnie: 1010 $b = 4; // binarnie: 0100 $c = $a & $b; // wynik: 0 (binarnie: 0000) echo $c; // Wyświetla 0
Wyjaśnienie: 1010 & 0100 = 0000
- Operatory bitowe OR (|): Jeśli przynajmniej jeden z bitów jest 1, wynikowy bit jest 1. Tylko gdy oba bity są 0, wynikowy bit jest 0.
- Przykład:
$a = 10; // binarnie: 1010 $b = 4; // binarnie: 0100 $c = $a | $b; // wynik: 14 (binarnie: 1110) echo $c; // Wyświetla 14
Wyjaśnienie: 1010 | 0100 = 1110
- Operator bitowy XOR (^): Jeśli bity są różne, wynikowy bit jest 1. Jeśli bity są takie same, wynikowy bit jest 0.
- Przykład:
$a = 10; // binarnie: 1010 $b = 4; // binarnie: 0100 $c = $a ^ $b; // wynik: 14 (binarnie: 1110) echo $c; // Wyświetla 14
Wyjaśnienie: 1010 ^ 0100 = 1110
- Operator bitowy NOT (~): Odwraca wszystkie bity. 0 staje się 1, a 1 staje się 0.
- Przykład:
$a = 10; // binarnie: 1010 $c = ~$a; // wynik: -11 (w zależności od systemu) echo $c; // Wyświetla -11 (lub inną wartość zależną od systemu)
Wyjaśnienie: ~1010 (zależy od reprezentacji liczb w systemie)
- Przesunięcie bitowe << i >>: Przesuwa bity w lewo (<<) lub w prawo (>>).
- Przykład:
$a = 10; // binarnie: 1010 $b = $a << 2; // przesunięcie o 2 bity w lewo (101000) - wynik 40 $c = $a >> 1; // przesunięcie o 1 bit w prawo (101) - wynik 5 echo "Przesunięcie w lewo: " . $b . "\n"; // Wyświetla 40 echo "Przesunięcie w prawo: " . $c; // Wyświetla 5
Wyjaśnienie: Przesunięcie w lewo mnoży przez 2n, a w prawo dzieli przez 2n (gdzie n to liczba przesunięć).
Ten przykład pokazuje podstawowe operatory bitowe w PHP. Zachęcamy do dalszego zgłębiania tematu i eksperymentowania z różnymi kombinacjami operatorów!