Kako zapisujete eksponent u C?

How Do You Write An Exponent C



U jeziku C vrijednost eksponenta može se izračunati pomoću NS () funkcija. Ovaj članak će naučiti kako koristiti NS () funkciju za izvođenje operacije eksponencije. Također ćemo naučiti kako koristiti operator pomaka bitova za izvođenje operacije eksponencije. Pokušat ćemo napisati korisnički definiranu funkciju za izračun eksponenata. Dakle, krenimo.

Sintaksa

dvostruko NS ( dvostruko baza, dvostruko exp);







The NS () funkcija definirana je u matematika.h datoteku zaglavlja.



Argumenti

Ova funkcija ima dva argumenta, baza i exp, za izračunavanje vrijednosti baza podignuta na vlast eksp . Ovdje baza i eksp oboje su dvostruki.



Povratne vrijednosti

O uspjehu, NS () funkcija vraća vrijednost baza podignuta na vlast eksp .





Ako je vrijednost eksp je 0, NS () funkcija vraća 1.

Ako baza je negativan i eksp nije integralna, NS () funkcija se vraća NaN (Nije-A-broj).



Primjeri

// Primjer1.c
#uključi
#uključi

intglavni()
{

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

povratak 0;
}

U primjeru 1.c vidjeli smo izlaz datoteke NS () funkcija. Ovdje koristimo -lm parametar naredbenog retka za povezivanje u matematičkoj knjižnici. Od redaka 10 do 13 imamo izlaz prema očekivanjima. Za retke 14 i 15 imamo -nan (Nije broj) jer drugi argument nije integralni.

Eksponent pomoću pomaka bita

Ako želimo izračunati eksponent na stepen 2, tada to možemo učiniti pomoću pomaka bitova.

Pomak lijevo za m ekvivalentan je prvom članu, a 2 za stepen m.

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

Desni pomak za m ekvivalentan je dijeljenju prvog člana i 2 za stepen m.

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

Radi se samo kad je m pozitivan.

// Primjer2.c
#uključi

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

return 0;
}

U primjeru 2.c vidjeli smo kako se operator pomaka bitova može koristiti za eksponent snage 2. Vrlo je korisno smanjiti složenost koda.

Eksponent pomoću korisnički definirane funkcije

Možemo napisati korisnički definiranu funkciju za izračun eksponenata. U Primjeru3.c napisat ćemo korisnički definiranu funkciju eksponent (), koji uzima dva argumenta temeljena i exp tipa float ant integer.

// Primjer3.c
#uključi

plutatieksponent(plutatibaza, int eksp )
{
plutatiproizlaziti=1.0;
plutatii;
ako( eksp < 0)
{
eksp = -1 * eksp ;
za(i=1;i<= eksp ;i++)
proizlaziti=proizlaziti*baza;

proizlaziti= 1.0/proizlaziti;
}
drugo
{
za(i=1;i%f', eksponent (3,0));
printf ('
nexponent(3, -5) => %f', eksponent (3, -5));
printf ('
nexponent(-3, -5) => %f', eksponent (-3, -5));

return 0;
}

Primjer3.c vidjeli smo izlaz korisnički definirane funkcije eksponent () . Ova funkcija radi kada je eksponent integralni. Za pravi eksponent moramo koristiti NS () funkcija.

Zaključak

U ovom smo članku vidjeli korištenje NS () funkciju i Malo pomak operator kako se eksponent može izračunati u jeziku C. Također smo naučili kako napisati vlastitu funkciju za izračunavanje eksponenata. Sada možemo bez ikakve sumnje koristiti ove tehnike u našem C programu.