Questão 4: bitsUm
Voltar
Defina uma função int bitsUm (unsigned int n)
que calcula o número de bits iguais a 1 usados na representação binária de um dado número n.
Exemplo
> bitsUm(6)
(int) 2
Resolução
int bitsUm (unsigned int n){
int r = 0;
while(n) {
r += (n % 2);
n >>= 1;
}
return r;
}
Explicação
A operação n >>= 1
é equivalente a n /= 2
, basicamente desloca os bits de n
uma unidade para a direita, o que produz o mesmo resultado do que dividir n
por dois.