Forum und email

Operatori bitwise

Gli operatori bitwise vi permettono di alterare bit specifici in posizione on oppure off. Se entrambi i parametri di sinistra e destra sono stringhe, l'operatore bitwise opererà sui caratteri ASCII della stringa.

<?php
echo 12 9// L'output è '5'
echo "12" "9"// L'output è il carattere Backspace (ascii 8)
                     // ('1' (ascii 49)) ^ ('9' (ascii 57)) = #8
echo "hallo" "hello"// L'output è il valore ascii #0 #4 #0 #0 #0
                            // 'a' ^ 'e' = #4
?>

Operatori bitwise
Esempio Nome Risultato
$a & $b And Sono impostati ad ON i bit che sono ON sia in $a che in $b.
$a | $b Or Sono impostati ad ON i bit che sono ON in $a oppure in $b.
$a ^ $b Xor Sono impostati ad ON i bit che sono ON in $a oppure in $b na non quelli che sono entrambi ON.
~ $a Not Sono impostati ad ON i bit che sono OFF in $a, e viceversa.
$a << $b Shift left Sposta i bit di $a a sinistra di $b passi (ogni passo significa "moltiplica per due")
$a >> $b Shift right Sposta i bit di $a a destra di $b passi (ogni passo significa "dividi per due")
Avviso

Non spostare a destra per più di 32 bit sui sistemi a 32 bit. Non spostare a sinistra nei casi in cui il risultato è un numero più lungo di 32 bit.