Syntaksi
kaksinkertainen NS ( kaksinkertainen pohja, kaksinkertainen exp);
The NS () toiminto on määritelty kohdassa matematiikka. h otsikkotiedosto.
Argumentit
Tämä funktio vaatii kaksi argumenttia, pohja ja exp, arvon laskemiseksi pohja korotettu exp . Tässä pohja ja exp molemmat ovat kaksinkertaisia.
Palauta arvot
Menestyksestä, NS () funktio palauttaa arvon pohja korotettu exp .
Jos arvo exp on 0, NS () funktio palauttaa 1.
Jos pohja on negatiivinen ja exp ei ole kiinteä, NS () toiminto palaa NaN (Ei-A-numero).
Esimerkkejä
//Esimerkki1.c#sisältää
#sisältää
inttärkein()
{
inttulos;
tulos= (int) NS (3,5);
printf ('' npow (3,5) => %d ',tulos);
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));
palata 0;
}
Esimerkissä 1.c olemme nähneet NS () toiminto. Tässä käytämme -lm komentoriviparametri linkittämään matematiikkakirjastossa. Riveiltä 10-13 olemme saaneet tuloksen odotetusti. Riveille 14 ja 15 olemme saaneet -nan (Ei numero), koska toinen argumentti ei ole kiinteä.
Eksponentti, joka käyttää bitinsiirtoa
Jos haluamme laskea eksponentin arvoon 2, voimme tehdä sen käyttämällä bittisiirtoa.
Vasen siirto m: llä vastaa ensimmäistä termiä ja 2 tehoa m.
n<< m = n*pow (2, m)
Oikea siirtymä m: llä vastaa ensimmäisen termin jakoa ja 2 teholla m.
n >> m = n/pow (2, m)
Se toimii vain, kun m on positiivinen.
//Esimerkki2.c#sisältää
inttärkein()
{
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);
palauta 0;
}
Esimerkissä2.c olemme nähneet, kuinka bittisiirto -operaattoria voidaan käyttää eksponenttiin 2: een. On erittäin hyödyllistä vähentää koodin monimutkaisuutta.
Eksponentti, joka käyttää käyttäjän määrittämää toimintoa
Voimme kirjoittaa käyttäjän määrittämän funktion eksponenttien laskemiseksi. Esimerkissä3.c kirjoitamme käyttäjän määrittämän funktion eksponentti (), joka ottaa kaksi argumenttia ja perustuu tyyppiin float ant integer.
//Esimerkki3.c#sisältää
kelluaeksponentti(kelluapohja, int exp )
{
kelluatulos=1.0;
kelluai;
jos( exp < 0)
{
exp = -1 * exp ;
varten(i=1;i<= exp ;i++)
tulos=tulos*pohja;
tulos= 1.0/tulos;
}
muu
{
varten(i=1;i%f', eksponentti (3,0));
printf (' avuton(3, -5) => %f', eksponentti (3, -5));
printf (' avuton(-3, -5) => %f', eksponentti (-3, -5));
palauta 0;
}
Esimerkki3.c olemme nähneet käyttäjän määrittämän funktion tuloksen eksponentti () . Tämä toiminto toimii, kun eksponentti on kiinteä. Todellisen eksponentin vuoksi meidän on käytettävä NS () toiminto.
Johtopäätös
Tässä artikkelissa olemme nähneet sen käytön NS () toiminto ja Bit siirtymässä operaattori kuinka eksponentti voidaan laskea C -kielellä. Olemme myös oppineet kirjoittamaan oman funktion eksponenttien laskemiseksi. Nyt voimme käyttää näitä tekniikoita C -ohjelmassamme ilman epäilystäkään.