Syntax
doble NS ( doble base, doble exp);
Ang NS () tinukoy ang pagpapaandar sa matematika.h file ng header.
Mga Pangangatwiran
Ang pagpapaandar na ito ay tumatagal ng dalawang mga argumento, base at exp, upang makalkula ang halaga ng base itinaas sa kapangyarihan ng exp . Dito base at exp pareho ang doble.
Mga halagang bumalik
Sa tagumpay, ang NS () ibabalik ng pagpapaandar ang halaga ng base itinaas sa kapangyarihan ng exp .
Kung ang halaga ng exp ay 0, ang NS () nagbabalik ang pagpapaandar 1.
Kung base ay negatibo at exp ay hindi integral, ang NS () nagbabalik ang pagpapaandar NaN (Not-A-Number).
Mga halimbawa
//Example1.c# isama
# isama
intpangunahing()
{
intresulta;
resulta= (int) NS (3,5);
printf (' npow (3,5) =>% d ',resulta);
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));
bumalik ka 0;
}
Sa Halimbawa1.c, nakita natin ang output ng NS () pagpapaandar Narito ginagamit namin ang -lm parameter ng command line upang mag-link sa library ng matematika. Mula sa mga linya 10 hanggang 13, nakuha namin ang output tulad ng inaasahan. Para sa mga linya 14 at 15, nakuha namin -nan (Hindi isang numero) dahil ang pangalawang argument ay hindi integral.
Exponent gamit ang Bit Shifting
Kung nais nating kalkulahin ang exponent sa lakas ng 2, maaari nating gawin ito gamit ang bit shifting.
Ang kaliwang paglilipat ng m ay katumbas ng unang termino at 2 sa lakas m.
n<< m = n * pow (2, m)
Ang tamang paglilipat ng m ay katumbas ng paghahati ng unang termino at 2 sa lakas m.
n >> m = n / pow (2, m)
Gumagawa lamang ito kapag positibo ang m.
//Example2.c# isama
intpangunahing()
{
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);
ibalik ang 0;
}
Sa Halimbawa2.c, nakita namin kung paano maaaring magamit ang bit shift operator para sa tagapagturo sa kapangyarihan ng 2. Napaka kapaki-pakinabang upang bawasan ang pagiging kumplikado ng code.
Exponent gamit ang function na tinukoy ng User
Maaari naming isulat ang isang function na tinukoy ng gumagamit upang makalkula ang mga exponents. Sa Halimbawa3.c, magsusulat kami ng isang function na tinukoy ng gumagamit exponent (), na tumatagal ng dalawang mga argumento batay at exp ng uri float ant integer.
//Example3.c# isama
lumutangtagapagpatawad(lumutangbase, int exp )
{
lumutangresulta=1.0;
lumutangako;
kung( exp < 0)
{
exp = -1 * exp ;
para sa(ako=1;ako<= exp ;ako++)
resulta=resulta*base;
resulta= 1.0/resulta;
}
iba pa
{
para sa(ako=1;ako%f', exponent (3,0));
printf (' nexponent(3, -5) => %f', exponent (3, -5));
printf (' nexponent(-3, -5) => %f', exponent (-3, -5));
ibalik ang 0;
}
Halimbawa3.c nakita namin ang output ng pagpapaandar na tinukoy ng gumagamit exponent () . Ang pagpapaandar na ito ay gumagana kapag ang exponent ay integral. Para sa totoong exponent, kailangan nating gamitin ang NS () pagpapaandar
Konklusyon
Sa artikulong ito, nakita natin ang paggamit ng NS () pagpapaandar at Medyo nagbabago operator kung paano maaaring makalkula ang exponent sa wika ng C. Natutunan din namin kung paano isulat ang aming sariling pag-andar upang makalkula ang mga exponents. Ngayon ay maaari naming gamitin ang mga diskarteng ito sa aming C program nang walang alinlangan.