Forum und email
Operatory Bitowe

Operatory Bitowe

Operatory bitowe służą do operowania na wartościach konkretnych bitów w liczbie. Jeśli zarówno lewo jak i prawostronne operandy są typu string, operatory bitowe będą wykonywać operacje na poszczególnych znakach tych łańcuchów.

<?php
      
echo 12 ^ 9; // Zwraca '5'
    
      
echo "12" ^ "9"; // Zwraca znak Backspace (ascii 8)
                       // ('1' (ascii 49)) ^ ('9' (ascii 57)) = #8
    
      
echo "hallo" ^ "hello"; // Zwraca wartości ascii #0 #4 #0 #0 #0
                              // 'a' ^ 'e' = #4
  
?>

Tabela 15-3. Operatory Bitowe

PrzykładNazwaOpis
$a & $bMnożenie bitoweDany bit wynikowy jest równy 1 tylko jeśli obydwa bity składowe są równe 1.
$a | $bSumowanie bitoweDany bit wynikowy jest równy 1 jeśli conajmniej jeden bit składowy jest równy 1.
$a ^ $bSumowanie bitowe modulo 2Dany bit wynikowy jest równy 1 wtedy i tylko wtedy, kiedy jeden z bitów składowych jest równy 1 a drugi jest równy 0.
~ $aNegacja bitowaBity w zmiennej $a mające wartość 1 otrzymują wartość 0 i na odwrót.
$a << $bPrzesunięcie w lewo Przesuwa bity w zmiennej $a o $b kroków w lewo (każdy krok znaczy "pomnożone razy dwa").
$a >> $bPrzesunięcie w prawo Przesuwa bity w zmiennej $a o $b kroków w prawo (każdy krok znaczy "podzielone przez dwa").