Syntax
dvojitý pow(dvojitý základňa, dvojitý exp);
The pow () funkcia je definovaná v matematika.h hlavičkový súbor.
Argumenty
Táto funkcia má dva argumenty, základňa a exp, vypočítať hodnotu základňa povýšený na moc exp. Tu základňa a exp obe sú dvojité.
Vrátiť hodnoty
O úspechu pow () funkcia vracia hodnotu základňa povýšený na moc exp.
Ak je hodnota exp je 0, pow () funkcia vracia 1.
Ak základňa je negatívny a exp nie je integrálny, pow () funkcia sa vráti NaN (Not-A-Number).
Príklady
// Príklad1.c#include
#include
int main ()
int výsledok;
výsledok = (int) pow (3,5);
printf ("\ npow (3,5) =>% d", vysledok);
printf ("\ npow (3, -5) =>% lf", pow (3, -5));
printf ("\ npow (-3, -5) =>% lf", pow (-3, -5));
printf ("\ npow (3,5.1) =>% lf ", prach (3,5.1));
printf ("\ npow (-3,5.1) =>% lf ", prach (-3,5.1));
printf ("\ npow (-3, -5.1) =>% lf \ n ", pow (-3, -5.1));
návrat 0;
V príklade 1.c, videli sme výstup pow () funkcie. Tu používame -lm parameter príkazového riadku na prepojenie v matematickej knižnici. Z riadkov 10 až 13 sme dostali výstup podľa očakávaní. Pre linky 14 a 15 máme -nan(Nie číslo), pretože druhý argument nie je integrálny.
Exponent využívajúci radenie bitov
Ak chceme vypočítať exponent na mocninu 2, môžeme to urobiť pomocou posunu bitov.
Posun doľava o m je ekvivalentný prvému členu a 2 o mocninu m.
n << m = n * pow (2, m)
Pravý posun o m je ekvivalentný s rozdelením prvého člena a 2 s výkonom m.
n >> m = n / pow (2, m)
Je to práca iba vtedy, keď m je pozitívne.
// Príklad2.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);
návrat 0;
V príklade 2.c, videli sme, ako možno operátor bitového posunu použiť pre exponent na mocninu 2. Je veľmi užitočné znížiť zložitosť kódu.
Exponent pomocou funkcie definovanej používateľom
Môžeme napísať používateľom definovanú funkciu na výpočet exponentov. V príklade 3.c, napíšeme používateľom definovanú funkciu exponent (), ktorý berie dva argumenty založené a exp typu float ant integer.
// Príklad3.c#include
float exponent (float base, int exp)
float result = 1.0;
plávať i;
ak (exp < 0)
exp = -1 * exp;
pre (i = 1; i<=exp;i++)
výsledok = výsledok * základ;
výsledok = 1.0 / výsledok;
inak
pre (i = 1; i% f ", exponent (3,0));
printf ("\ nexponent (3, -5) =>% f", exponent (3, -5));
printf ("\ nexponent (-3, -5) =>% f", exponent (-3, -5));
návrat 0;
Príklad3.c videli sme výstup používateľom definovanej funkcie exponent (). Táto funkcia funguje, keď je exponent integrál. Pre skutočný exponent musíme použiť pow () funkcia.
Záver
V tomto článku sme videli použitie pow () funkcie a Posun bitov operátor, ako je možné vypočítať exponent v jazyku C. Tiež sme sa naučili, ako napísať vlastnú funkciu na výpočet exponentov. Teraz môžeme tieto techniky bez pochýb použiť v našom programe C.