Cum scrieți o componentă în C?

How Do You Write An Exponent C



În limbajul C, valoarea exponentului poate fi calculată folosind NS () funcţie. Acest articol va învăța cum să utilizați NS () funcție pentru a efectua operația de exponențiere. De asemenea, vom învăța cum să folosim operator de schimbare de biți pentru a efectua operația de exponențiere. Vom încerca să scriem o funcție definită de utilizator pentru a calcula exponenții. Deci sa începem.

Sintaxă

dubla NS ( dubla baza, dubla exp);







The NS () funcția este definită în matematică fișier antet.



Argumente

Această funcție are două argumente, baza și exp, pentru a calcula valoarea lui baza ridicat la puterea lui exp . Aici baza și exp ambele sunt duble.



Returnează valorile

La succes, NS () funcția returnează valoarea lui baza ridicat la puterea lui exp .





Dacă valoarea lui exp este 0, NS () funcția returnează 1.

Dacă baza este negativ și exp nu este integral, NS () funcția revine NaN (Not-A-Number).



Exemple

//Exemplu1.c
#include
#include

intprincipal()
{

intrezultat;
rezultat= (int) NS (3,5);
printf (' npow (3,5) =>% d ',rezultat);
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));

întoarcere 0;
}

În Exemplul 1.c, am văzut ieșirea din NS () funcţie. Aici folosim -lm parametru linie de comandă pentru a lega în biblioteca de matematică. De la liniile 10-13, am obținut rezultatul așa cum era de așteptat. Pentru liniile 14 și 15, avem -nan (Nu un număr) deoarece al doilea argument nu este integral.

Exponent folosind Bit Shifting

Dacă vrem să calculăm exponentul la puterea lui 2, atunci o putem face folosind schimbarea de biți.

Deplasarea la stânga cu m este echivalentă cu primul termen și 2 cu puterea m.

n<< m = n * putere (2, m)

Deplasarea dreaptă cu m este echivalentă cu împărțirea primului termen și 2 cu puterea m.

n >> m = n / putere (2, m)

Se lucrează numai atunci când m este pozitiv.

//Exemplu2.c
#include

intprincipal()
{
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);

retur 0;
}

În Exemplul 2.c, am văzut cum poate fi utilizat operatorul de schimbare a biților pentru exponent la puterea 2. Este foarte util să reducem complexitatea codului.

Exponentă utilizând funcția definită de utilizator

Putem scrie o funcție definită de utilizator pentru a calcula exponenții. În Exemplul 3.c, vom scrie o funcție definită de utilizator exponent (), care ia două argumente bazate și exp de tip float ant integer.

//Exemplu3.c
#include

plutiexponent(plutibaza, int exp )
{
plutirezultat=1.0;
plutieu;
dacă( exp < 0)
{
exp = -1 * exp ;
pentru(eu=1;eu<= exp ;eu++)
rezultat=rezultat*baza;

rezultat= 1.0/rezultat;
}
altceva
{
pentru(eu=1;eu%f', exponent (3,0));
printf ('
nexponent(3, -5) => %f', exponent (3, -5));
printf ('
nexponent(-3, -5) => %f', exponent (-3, -5));

retur 0;
}

Exemplul 3.c am văzut ieșirea funcției definite de utilizator exponent () . Această funcție se lucrează atunci când exponentul este integral. Pentru un exponent real, trebuie să folosim NS () funcţie.

Concluzie

În acest articol, am văzut folosind NS () funcție și Bit shifting operator modul în care exponentul poate fi calculat în limbajul C. De asemenea, am învățat cum să scriem propria noastră funcție pentru a calcula exponenții. Acum putem folosi aceste tehnici în programul nostru C fără nici o îndoială.