Sintaksa
dvostruko prah(dvostruko baza, dvostruko exp);
The prah () funkcija definirana je u matematika.h datoteka zaglavlja.
Argumenti
Ova funkcija uzima dva argumenta, baza i ispr, za izračun vrijednosti baza podignut na moć ispr. Ovdje baza i ispr obojica su dvostruka.
Vrati vrijednosti
O uspjehu, prah () funkcija vraća vrijednost baza podignut na moć ispr.
Ako je vrijednost od ispr je 0, prah () funkcija vraća 1.
Ako baza je negativan i ispr nije integralno, prah () funkcija se vraća NaN (Nije broj).
Primjeri
// Primjer1.c#include
#include
int main ()
int rezultat;
rezultat = (int) pow (3,5);
printf ("\ npow (3,5) =>% d", rezultat);
printf ("\ npow (3, -5) =>% lf", pow (3, -5));
printf ("\ npow (-3, -5) =>% lf", pow (-3, -5));
printf ("\ npow (3,5.1) =>% lf ", prah (3,5.1));
printf ("\ npow (-3,5.1) =>% lf ", prah (-3,5.1));
printf ("\ npow (-3, -5.1) =>% lf \ n ", snaga (-3, -5.1));
return 0;
U Primjeru1.c, vidjeli smo izlaznu datoteku prah () funkcija. Ovdje koristimo -lm parametar naredbenog retka za povezivanje u matematičkoj knjižnici. Iz redova 10 do 13 dobili smo izlaz kako smo očekivali. Za linije 14 i 15 imamo -nan(Nije broj) jer drugi argument nije integralni.
Eksponent pomoću pomaka bitova
Ako želimo izračunati eksponent snage 2, to možemo učiniti pomicanjem bitova.
Lijevi pomak za m ekvivalentan je prvom članu, a 2 snazi m.
n << m = n * prah (2, m)
Desni pomak za m ekvivalentan je podjeli prvog člana i 2 za snagu m.
n >> m = n / prah (2, m)
Radi se samo kada je m pozitivno.
// Primjer2.c#include
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;
U Primjeru2.c, vidjeli smo kako se operator pomicanja bitova može koristiti za eksponent snage 2. Vrlo je korisno smanjiti složenost koda.
Eksponent pomoću korisnički definirane funkcije
Za izračun eksponenata možemo napisati korisnički definiranu funkciju. U Primjeru3.c, napisat ćemo korisnički definiranu funkciju eksponent (), koji uzima dva argumenta i exp tipa float ant integer.
// Primjer3.c#include
float eksponent (plutajuća baza, int exp)
rezultat plutanja = 1.0;
plutati i;
ako (exp < 0)
exp = -1 * exp;
za (i = 1; i<=exp;i++)
rezultat = rezultat * baza;
rezultat = 1.0 / rezultat;
drugo
za (i = 1; i% f ", eksponent (3,0));
printf ("\ nexponent (3, -5) =>% f", eksponent (3, -5));
printf ("\ nexponent (-3, -5) =>% f", eksponent (-3, -5));
return 0;
Primjer3.c vidjeli smo izlaz korisnički definirane funkcije eksponent (). Ova se funkcija radi kada je eksponent integralni. Za pravi eksponent moramo koristiti prah () funkcija.
Zaključak
U ovom smo članku vidjeli kako se koristi prah () funkcija i Pomicanje bita operator kako se eksponent može izračunati na jeziku C. Također smo naučili kako napisati vlastitu funkciju za izračunavanje eksponenata. Sada ove tehnike možemo koristiti u našem programu C bez ikakve sumnje.