Originariamente inviato da TommyGun
/* bitcount: count 1 bits in x */
int bitcount(unsigned x)
{
int b;
for (b = 0; x != 0; x >>= 1)
b++;
return b;
}
Questa è completamente "ravanata" .... sai cosa fa?? Incrementa 'b' finché x è diverso da 0 e intanto shifta a destra x. E allora??
Vuoi contare quanti bit in totale ci sono in una variabile?? Allora sizeof(variabile)*8
Vuoi contare quanti bit a '1' ci sono in una variabile?? Allora devi modificare la funzione.