Giusto, mi devo ancora abituare all'uso delle variabili in PHP. Grazie per le correzioniOriginariamente inviato da k.b
Il problema non e' nella stampa, ma nell'algoritmo. La tua elaborazione prosegue finche' il numero decimale e' maggiore di zero, ma l'unica modifica che fai a quel numero e' dividerlo per 2. Ora, e' evidente che nessun numero maggiore di zero diventa zero solo a forza di dividerlo per due (l'elaborazione termina comunque quando il numero diventa sufficientemente piccolo perche' venga considerato zero dall'approssimazione), quindi devi fare il controllo sulla parte intera di $dec.
Codice PHP:
function mybin($dec) {
$bin = '';
while ( intval($dec) > 0 ) {
$bin = $dec % 2 . $bin;
$dec /= 2;
}
return $bin;
}
echo mybin(8);
@Ophy94 Non conoscevo questa funzione, mi sarà molto utile![]()