View Full Version : [C] Shift di bit
Zagor HW
15-05-2007, 21:17
Salve a tutti, vorrei sapere se esiste un modo, mediante l'utilizzo degli shift, di salvare tutti i bit che compongono un numero in un apposito array, senza dover operare tutte le divisioni per convertire il numero da decimale a binario.
Grazie
maulattu
15-05-2007, 21:36
Salve a tutti, vorrei sapere se esiste un modo, mediante l'utilizzo degli shift, di salvare tutti i bit che compongono un numero in un apposito array, senza dover operare tutte le divisioni per convertire il numero da decimale a binario.
Grazie
shifty di un bit a destra ( >> 1) ottenendo cosė un nuovo numero "n".
a questo punto vedi se n č divisibile per 2:
do
{
if (n%2)
{
aggiungi '1' all'array in testa
}
else
{
aggiungi '0' all'array in testa
}
if (n == 0) // da verificare...
break;
n >>= 1;
} while (1);
for (i = 0; i < 8; i++)
{
array[i] = (n & (1 << i)) >> i;
}
giusto se vuoi una soluzione pių compatta
Zagor HW
16-05-2007, 13:26
Ok, grazie mille a tutti
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.