C Programiranje

Kako se napiše eksponent u C?

Kako se napiše eksponent u C?
U jeziku C, vrijednost eksponenta može se izračunati pomoću prah () funkcija. Ovaj članak naučit će kako koristiti prah () funkcija za izvođenje operacije potenciranja. Također ćemo naučiti kako koristiti operator pomicanja bitova za izvođenje operacije potenciranja. Pokušat ćemo napisati korisnički definiranu funkciju za izračunavanje eksponenata.  Pa, krenimo.

Sintaksa

dvostruko prah(dvostruko baza, dvostruko exp);

The prah () funkcija definirana je u matematika.h datoteka zaglavlja.

Argumenti

Ova funkcija uzima dva argumenta, baza i ispr, za izračun vrijednosti baza podignut na moć ispr. Ovdje baza i ispr obojica su dvostruka.

Vrati vrijednosti

O uspjehu, prah () funkcija vraća vrijednost baza podignut na moć ispr.

Ako je vrijednost od ispr je 0, prah () funkcija vraća 1.

Ako baza je negativan i ispr nije integralno, prah () funkcija se vraća NaN (Nije broj).

Primjeri

// Primjer1.c
#include
#include
int main ()

int rezultat;
rezultat = (int) pow (3,5);
printf ("\ npow (3,5) =>% d", rezultat);
printf ("\ npow (3, -5) =>% lf", pow (3, -5));
printf ("\ npow (-3, -5) =>% lf", pow (-3, -5));
printf ("\ npow (3,5.1) =>% lf ", prah (3,5.1));
printf ("\ npow (-3,5.1) =>% lf ", prah (-3,5.1));
printf ("\ npow (-3, -5.1) =>% lf \ n ", snaga (-3, -5.1));
return 0;

U Primjeru1.c, vidjeli smo izlaznu datoteku prah () funkcija. Ovdje koristimo -lm parametar naredbenog retka za povezivanje u matematičkoj knjižnici. Iz redova 10 do 13 dobili smo izlaz kako smo očekivali. Za linije 14 i 15 imamo -nan(Nije broj) jer drugi argument nije integralni.

Eksponent pomoću pomaka bitova

Ako želimo izračunati eksponent snage 2, to možemo učiniti pomicanjem bitova.

Lijevi pomak za m ekvivalentan je prvom članu, a 2 snazi ​​m.

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

Desni pomak za m ekvivalentan je podjeli prvog člana i 2 za snagu m.

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

Radi se samo kada je m pozitivno.

// Primjer2.c
#include
int main ()

printf ("\ n 1< %d",1<<3);
printf ("\ n 5< %d",5<<3);
printf ("\ n -5< %d",-5<>3 =>% d ", 40 >> 3);
printf ("\ n 40 >> 3 =>% d", 40 >> 3);
printf ("\ n -40 >> 3 =>% d \ n", - 40 >> 3);
return 0;

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

Eksponent pomoću korisnički definirane funkcije

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

// Primjer3.c
#include
float eksponent (plutajuća baza, int exp)

rezultat plutanja = 1.0;
plutati i;
ako (exp < 0)

exp = -1 * exp;
za (i = 1; i<=exp;i++)
rezultat = rezultat * baza;
rezultat = 1.0 / rezultat;

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 se funkcija radi kada je eksponent integralni. Za pravi eksponent moramo koristiti prah () funkcija.

Zaključak

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

OpenTTD vs Simutrans
Stvaranje vlastite simulacije prijevoza može biti zabavno, opuštajuće i izuzetno primamljivo. Zbog toga morate isprobati što više igara kako biste pro...
Vodič za OpenTTD
OpenTTD je jedna od najpopularnijih igara za poslovnu simulaciju. U ovoj igri morate stvoriti prekrasan prijevoznički posao. Međutim, počet ćete u poč...
SuperTuxKart za Linux
SuperTuxKart sjajan je naslov osmišljen kako bi vam besplatno pružio iskustvo Mario Kart na vašem Linux sustavu. Prilično je izazovno i zabavno igrati...