Sintaksė
dvigubai Pow(dvigubai bazė, dvigubai exp);
The Pow () funkcija apibrėžta matematika.h antraštės failas.
Argumentai
Šiai funkcijai reikia dviejų argumentų, bazė ir galiojimo laikas, apskaičiuoti bazė pakeltas į valdžią galiojimo laikas. Čia bazė ir galiojimo laikas abu yra dvigubi.
Grąžinimo vertės
Dėl sėkmės Pow () funkcija grąžina reikšmę bazė pakeltas į valdžią galiojimo laikas.
Jei vertė galiojimo laikas yra 0, Pow () funkcija grąžina 1.
Jei bazė yra neigiamas ir galiojimo laikas nėra vientisas, Pow () funkcija grąžinama NaN (Ne numeris A).
Pavyzdžiai
// 1 pavyzdys.c# įtraukti
# įtraukti
int main ()
int rezultatas;
rezultatas = (int) pow (3,5);
printf ("\ npow (3,5) =>% d", rezultatas);
printf ("\ npow (3, -5) =>% lf", pow (3, -5));
printf ("\ npow (-3, -5) =>% lf", pow (-3, -5));
printf ("\ npow (3,5.1) =>% lf ", variklis (3,5.1));
printf ("\ npow (-3,5.1) =>% lf ", variklis (-3,5.1));
printf ("\ npow (-3, -5.1) =>% lf \ n ", variklis (-3, -5.1));
grąžinti 0;
1 pavyzdyje.c, mes matėme Pow () funkcija. Čia mes naudojame -lm komandinės eilutės parametras susieti matematikos bibliotekoje. Nuo 10 iki 13 eilučių gavome rezultatą, kaip tikėtasi. 14 ir 15 eilutėms mes turime -nan(Ne skaičius), nes antrasis argumentas nėra vientisas.
Eksponentas, naudodamas „Bit Shifting“
Jei norime apskaičiuoti rodiklį, kurio galia yra 2, galime tai padaryti naudodami bitų perkėlimą.
Kairysis poslinkis m yra lygus pirmajam terminui ir 2 - galiai m.
n << m = n * galia (2, m)
Dešinysis poslinkis m prilygsta pirmojo termino dalijimui ir 2 galiai m.
n >> m = n / pow (2, m)
Tai darbas tik tada, kai m yra teigiamas.
// 2 pavyzdys.c# įtraukti
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);
grąžinti 0;
2 pavyzdyje.c, mes matėme, kaip bitų poslinkio operatorių galima naudoti rodikliui 2 galia. Labai naudinga sumažinti kodo sudėtingumą.
Eksponentas, naudojant vartotojo apibrėžtą funkciją
Galime parašyti vartotojo apibrėžtą funkciją, kad galėtume apskaičiuoti rodiklius. 3 pavyzdyje.c, parašysime vartotojo apibrėžtą funkciją rodiklis (), kuris reikalauja dviejų argumentų ir tipo tipo plūduriuojantis ir sveikasis skaičius.
// 3 pavyzdys.c# įtraukti
plūduriuojantis eksponentas (plūduriuojantis pagrindas, int exp)
plūduriuojantis rezultatas = 1.0;
plukdyti i;
jei (gal < 0)
exp = -1 * exp;
už (i = 1; i<=exp;i++)
rezultatas = rezultatas * bazė;
rezultatas = 1.0 / rezultatas;
Kitas
už (i = 1; i% f ", eksponentas (3,0));
printf ("\ nexponent (3, -5) =>% f", eksponentas (3, -5));
printf ("\ nexponent (-3, -5) =>% f", eksponentas (-3, -5));
grąžinti 0;
3 pavyzdys.c mes matėme vartotojo nustatytos funkcijos išvestį rodiklis (). Ši funkcija veikia, kai rodiklis yra vientisas. Tikram eksponentui turime naudoti Pow () funkcija.
Išvada
Šiame straipsnyje matėme, kaip naudoti Pow () funkcija ir Bitų perkėlimas operatorius, kaip eksponentą galima apskaičiuoti C kalba. Mes taip pat išmokome parašyti savo funkciją, kad galėtume apskaičiuoti rodiklius. Dabar be jokių abejonių galime naudoti šiuos metodus savo C programoje.