Sintaxe
Duplo Pancada(Duplo base, Duplo exp);
O Pancada() função é definida em matemática.h arquivo de cabeçalho.
Argumentos
Esta função leva dois argumentos, base e exp, calcular o valor de base elevado ao poder de exp. Aqui base e exp ambos são duplos.
Valores de retorno
Com sucesso, o Pancada() função retorna o valor de base elevado ao poder de exp.
Se o valor de exp é 0, o Pancada() a função retorna 1.
Se base é negativo e exp não é integral, o Pancada() função retorna NaN (Não é um número).
Exemplos
//Exemplo 1.c#incluir
#incluir
int main ()
resultado interno;
resultado = (int) pow (3,5);
printf ("\ npow (3,5) =>% d", resultado);
printf ("\ npow (3, -5) =>% lf", pow (3, -5));
printf ("\ npow (-3, -5) =>% lf", pow (-3, -5));
printf ("\ npow (3,5.1) =>% lf ", pow (3,5.1));
printf ("\ npow (-3,5.1) =>% lf ", pow (-3,5.1));
printf ("\ npow (-3, -5.1) =>% lf \ n ", pow (-3, -5.1));
return 0;
No Exemplo 1.c, vimos a saída do Pancada() função. Aqui usamos o -lm parâmetro de linha de comando para vincular na biblioteca matemática. Das linhas 10 a 13, temos a saída conforme o esperado. Para as linhas 14 e 15, temos -nan(Não é um número) porque o segundo argumento não é integral.
Expoente usando deslocamento de bits
Se quisermos calcular o expoente à potência de 2, podemos fazê-lo usando deslocamento de bits.
O deslocamento à esquerda em m é equivalente ao primeiro termo e 2 à potência m.
n << m = n * pow (2, m)
O deslocamento à direita por m é equivalente à divisão do primeiro termo e 2 à potência m.
n >> m = n / pow (2, m)
Só funciona quando m é positivo.
// Exemplo2.c#incluir
int main ()
printf ("\ n 1< %d",1<<3);
printf ("\ n 5< %d",5<<3);
printf ("\ n -5< %d",-5<>3 =>% d ", 40 >> 3);
printf ("\ n 40 >> 3 =>% d", 40 >> 3);
printf ("\ n -40 >> 3 =>% d \ n", - 40 >> 3);
return 0;
No Exemplo 2.c, vimos como o operador de mudança de bit pode ser usado para o expoente à potência de 2. É muito útil para reduzir a complexidade do código.
Expoente usando função definida pelo usuário
Podemos escrever uma função definida pelo usuário para calcular expoentes. No Exemplo 3.c, vamos escrever uma função definida pelo usuário expoente (), que leva dois argumentos com base e exp do tipo float ant integer.
// Exemplo3.c#incluir
expoente de flutuação (base de flutuação, exp int)
resultado flutuante = 1.0;
float i;
if (exp < 0)
exp = -1 * exp;
para (i = 1; i<=exp;i++)
resultado = resultado * base;
resultado = 1.0 / resultado;
senão
para (i = 1; i% f ", expoente (3,0));
printf ("\ nexpoente (3, -5) =>% f", expoente (3, -5));
printf ("\ nexpoente (-3, -5) =>% f", expoente (-3, -5));
return 0;
Exemplo 3.c vimos a saída da função definida pelo usuário expoente (). Esta função é trabalhada quando o expoente é integral. Para expoente real, temos que usar o Pancada() função.
Conclusão
Neste artigo, vimos como usar o Pancada() função e Mudança de bits operador como o expoente pode ser calculado na linguagem C. Também aprendemos como escrever nossa própria função para calcular expoentes. Agora podemos usar essas técnicas em nosso programa C sem nenhuma dúvida.