Sintaksė
dvigubas NS ( dvigubas bazė, dvigubas exp);
The NS () funkcija apibrėžta matematika.h antraštės failas.
Argumentai
Ši funkcija turi du argumentus, bazė ir exp, apskaičiuoti vertę bazė pakeltas iki galios eksp . Čia bazė ir eksp abu yra dvigubi.
Grąžinti vertes
Dėl sėkmės ,. NS () funkcija grąžina reikšmę bazė pakeltas iki galios eksp .
Jei vertė eksp yra 0, NS () funkcija grąžina 1.
Jei bazė yra neigiamas ir eksp nėra vientisas, NS () funkcija grįžta NaN (Ne A-skaičius).
Pavyzdžiai
//Pavyzdys1.c#įtraukti
#įtraukti
tarptpagrindinis()
{
tarptrezultatas;
rezultatas= (tarpt) NS (3,5);
printf (' npow (3,5) => %d ',rezultatas);
printf (' nPow (3, -5) => %lf ', NS (3, -5));
printf (' npow (-3, -5) => %lf ', NS (-3, -5));
printf (' npow (3,5,1) => %lf ', NS (3,5.1));
printf (' npow (-3,5,1) => %lf ', NS (-3,5.1));
printf (' npow (-3, -5,1) => %lf n', NS (-3, -5.1));
grįžti 0;
}
1.c pavyzdyje matėme NS () funkcija. Čia mes naudojame -lm komandinės eilutės parametras, skirtas susieti matematikos bibliotekoje. Nuo 10 iki 13 eilučių gavome rezultatą, kaip tikėtasi. Turime 14 ir 15 eilutes -nano (Ne skaičius), nes antrasis argumentas nėra vientisas.
Eksponentas naudojant bitų perkėlimą
Jei norime apskaičiuoti eksponentą iki 2 galios, tai galime padaryti naudodami bitų poslinkį.
Kairysis poslinkis m yra lygus pirmajam nariui, o 2 - galiai m.
n<< m = n*pow (2, m)
Dešinysis poslinkis m yra lygus pirmojo nario padalijimui, o 2 - galiai m.
n >> m = n/Pow (2, m)
Tai tik tada, kai m yra teigiamas.
//Pavyzdys2.c#įtraukti
tarptpagrindinis()
{
printf (' n1<%d',1<<3);
printf (' n5<%d',5<<3);
printf (' n-5<%d', -53 => %d“, 40 >> 3);
printf (' n40>>3 => %d“, 40 >> 3);
printf (' n-40>>3 => %d n“, -40 >> 3);
grįžti 0;
}
Pavyzdyje2.c matėme, kaip bitų poslinkio operatorius gali būti naudojamas eksponentui iki 2 galios. Labai naudinga sumažinti kodo sudėtingumą.
Eksponentas, naudojant vartotojo apibrėžtą funkciją
Eksponentams apskaičiuoti galime parašyti vartotojo apibrėžtą funkciją. Pavyzdyje3.c parašysime vartotojo apibrėžtą funkciją rodiklis (), kuris apima du argumentus, pagrįstus ir exp tipo float ant integer.
//Pavyzdys3.c#įtraukti
plūdėeksponentas(plūdėbazė, tarpt eksp )
{
plūdėrezultatas=1.0;
plūdėi;
jei( eksp < 0)
{
eksp = -1 * eksp ;
dėl(i=1;i<= eksp ;i++)
rezultatas=rezultatas*bazė;
rezultatas= 1.0/rezultatas;
}
Kitas
{
dėl(i=1;i%f', rodiklis (3,0));
printf (' neadekvatus(3, -5) => %f', rodiklis (3, -5));
printf (' neadekvatus(-3, -5) => %f', rodiklis (-3, -5));
grįžti 0;
}
Pavyzdys3.c matėme vartotojo nustatytos funkcijos išvestį rodiklis () . Ši funkcija veikia, kai eksponentas yra vientisas. Tikram eksponentui turime naudoti NS () funkcija.
Išvada
Šiame straipsnyje matėme, kaip naudoti NS () funkcija ir Bitų poslinkis operatoriui, kaip eksponentą galima apskaičiuoti C kalba. Mes taip pat išmokome rašyti savo funkciją eksponentams apskaičiuoti. Dabar be jokių abejonių galime naudoti šiuos metodus savo C programoje.