Questão 5: trailingZ
Voltar
Defina uma função int trailingZ (unsigned int n)
que calcula o número de bits a 0 no final da representação binária de um número (i.e., o expoente da maior potência de 2 que é divisor desse número).
Exemplo
> trailingZ(12)
(int) 2 // 12 = 0b1100
Resolução
int trailingZ (unsigned int n) {
if(n == 0) return 32;
if(n % 2 == 1) return 0;
else return 1 + trailingZ(n >> 1);
}