Como você escreve um expoente em C?

Como você escreve um expoente em C?
No idioma C, o valor do expoente pode ser calculado usando o Pancada() função. Este artigo aprenderá a usar o Pancada() função para executar a operação de exponenciação. Também aprenderemos a usar o operador de mudança de bit Para realizar a operação de exponenciação. Tentaremos escrever uma função definida pelo usuário para calcular os expoentes. Então vamos começar.

Sintaxe

dobro Pancada(dobro base, dobro exp);

O Pancada() A função é definida em matemática.h arquivo de cabeçalho.

Argumentos

Esta função leva dois argumentos, base e Exp, Para calcular o valor de base levantado ao poder de Exp. Aqui base e Exp Ambos são duplos.

Valores de retorno

No sucesso, o Pancada() função retorna o valor de base levantado ao poder de Exp.

Se o valor de Exp é 0, o Pancada() 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 ()

Int resultado;
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));
retornar 0;

No exemplo1.c, vimos a saída do Pancada() função. Aqui usamos o -LM Parâmetro da linha de comando para link na biblioteca de matemática. Das linhas 10 a 13, obtivemos a saída conforme esperado. Para as linhas 14 e 15, temos -Nan(Não um número) porque o segundo argumento não é integral.

Expoente usando mudança de bit

Se queremos calcular o expoente para o poder de 2, podemos fazê -lo usando um pouco de mudança.

A mudança esquerda por m é equivalente ao primeiro termo e 2 para o poder m.

n << m = n*pow (2, m)

A mudança certa por m é equivalente à divisão do primeiro termo e 2 para o poder m.

n >> m = n/pow (2, m)

Só é trabalho quando m é positivo.

// Exemplo2.c
#incluir
int main ()

printf ("\ n 1< %d",1<<3);
printf ("\ n 5< %d",5<<3);
printf ("\ n -5< %d",-53 => %d ", 40 >> 3);
printf ("\ n 40 >> 3 => %d", 40 >> 3);
printf ("\ n -40 >> 3 => %d \ n", -40 >> 3);
retornar 0;

No exemplo2.c, vimos como o operador de mudança de bit pode ser usado para o expoente ao poder de 2. É muito útil 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 exemplo3.C, vamos escrever uma função definida pelo usuário expoente (), que leva dois argumentos baseados e exp do tipo Float Ant inteiro.

// Exemplo3.c
#incluir
Expoente de flutuação (base flutuante, int exp)

resultado de flutuação = 1.0;
flutuar i;
if (exp < 0)

exp = -1 * exp;
para (i = 1; i<=exp;i++)
resultado = resultado * base;
resultado = 1.0/resultado;

outro

para (i = 1; i %f ", expoente (3,0));
printf ("\ nexponente (3, -5) => %f", expoente (3, -5));
printf ("\ nexponente (-3, -5) => %f", expoente (-3, -5));
retornar 0;

Exemplo3.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 usando o Pancada() função e Mudanças de bits Operador como o expoente pode ser calculado na linguagem C. Também aprendemos a escrever nossa própria função para calcular expoentes. Agora podemos usar essas técnicas em nosso programa C sem dúvida.