Il confronto binario non mi è stato mai tanto chiaro, ma sto facendo una cosa del genere
Codice PHP:
<?php
$v
=32768;
$val=32768;

echo 
$v.' -> '.$val.'
'
;
echo (
intval($v) & intval($val));
echo 
'

'
;

$v=32768;
$val=65535;

echo 
$v.' -> '.$val.'
'
;
echo (
intval($v) & intval($val));
echo 
'

'
;
?>
E in tutti e due i casi mi restituisce 32768, ma nel secondo caso non dovrebbe restituire 0?

P.S.
Sto facendo un confronto di numeri per i permessi utenti, come letto in una guida su html.it