Advertisement
Henrique1265

Verificar se número é potência de 2 (.c)

Jul 22nd, 2014
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.64 KB | None | 0 0
  1. //Função em C para verificar de maneira exaustiva se um determinado número é potência de dois. Caso seja, retorna o valor da potência, caso não seja, retorna -1.
  2.  
  3. int VerificaPotenciaDois(int num){
  4.     int i, valor = 2;
  5.     if (num == 1) //Qualquer número elevado a 0 é 1
  6.         return 0;
  7.     if (num % 2 != 0) //Se o número não for divisível por 2, então não será um potência de 2
  8.         return -1; //Numero não é potencia de 2
  9.     for(i=1;valor<=num;i++){ //Verifica tentativa por tentativa se o número é potência de 2, caso seja, retorna-o
  10.         if (valor == num)
  11.             return i;
  12.         valor = valor * 2;
  13.     }
  14.     return -1; //Numero não é potencia de 2
  15. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement