Durante una funzione, converto in binario un numero decimale con decbin e poi prendo il primo e l'ultimo bit.
Codice PHP:
<?php
#[...]
$binario decbin($decimale);
$primo_bit substr($binario01);
$ultimo_bit substr($binariostrlen($binario), 0);
if(
$primo_bit xor $ultimo_bitprintf("XOR vero!");
else 
printf("XOR falso!");
#[...]
?>
Xor dovrebbe funzionare, dato che 0 e 1 fungono come valore booleano true e false.
Infatti la xor la esegue, ma perché la xor tra 0 e 1 ritorna falsa?
Se faccio così...
Codice PHP:
<?php
#[...]
$binario decbin($decimale);
$primo_bit str_replace(substr($binario01), 1false);
$primo_bit str_replace(substr($binario01), 0true);

$ultimo_bit substr($binariostrlen($binario), 0);
$ultimo_bit str_replace(substr($binario01), 1false);
$ultimo_bit str_replace(substr($binario01), 0true);

if(
$primo_bit xor $ultimo_bitprintf("XOR vero!");
else 
printf("XOR falso!");
#[...]
?>
...da lo stesso risultato...
Che devo fare???