Paano Ka Sumusulat ng isang Exponent sa C?

How Do You Write An Exponent C



Sa wikang C, ang halaga ng exponent ay maaaring kalkulahin gamit ang NS () pagpapaandar Malalaman ng artikulong ito kung paano gamitin ang NS () pagpapaandar upang maisagawa ang pagpapatakbo ng exponentiation. Malalaman din natin kung paano gamitin ang bit-shifting operator upang maisagawa ang pagpapatakbo ng exponentiation. Susubukan naming magsulat ng isang function na tinukoy ng gumagamit upang makalkula ang mga exponent. Kaya, magsimula na tayo.

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.