Jak napíšete exponent v C?

How Do You Write An Exponent C



V jazyce C lze hodnotu exponentu vypočítat pomocí NS () funkce. Tento článek se naučí používat NS () funkce k provedení operace umocnění. Naučíme se také, jak používat operátor řazení bitů provést operaci umocnění. Pokusíme se napsat uživatelem definovanou funkci pro výpočet exponentů. Začněme tedy.

Syntax

dvojnásobek NS ( dvojnásobek základna, dvojnásobek exp);







The NS () funkce je definována v math.h hlavičkový soubor.



Argumenty

Tato funkce má dva argumenty, základna a exp, pro výpočet hodnoty základna povýšen na moc zk . Tady základna a zk oba jsou dvojí.



Návratové hodnoty

Na úspěch, NS () funkce vrací hodnotu základna povýšen na moc zk .





Pokud hodnota zk je 0, NS () funkce vrací 1.

Li základna je negativní a zk není integrální, NS () funkce vrací NaN (Ne-číslo).



Příklady

// Příklad1.c
#zahrnout
#zahrnout

inthlavní()
{

intvýsledek;
výsledek= (int) NS (3,5);
printf (' nprášek (3,5) => %d ',výsledek);
printf (' npow (3, -5) => %lf ', NS (3, -5));
printf (' npow (-3, -5) => %lf ', NS (-3, -5));
printf (' nprášek (3,5,1) => %lf ', NS (3,5.1));
printf (' npow (-3,5,1) => %lf ', NS (-3,5.1));
printf (' nprášek (-3, -5,1) => %lf n', NS (-3, -5.1));

vrátit se 0;
}

V příkladu1.c jsme viděli výstup souboru NS () funkce. Zde používáme -lm parametr příkazového řádku pro propojení v matematické knihovně. Z řádků 10 až 13 máme výstup podle očekávání. Pro linky 14 a 15 máme -nan (Není to číslo), protože druhý argument není integrální.

Exponent využívající Bit Shifting

Pokud chceme vypočítat exponent na mocninu 2, pak to můžeme udělat pomocí bitového řazení.

Levý posun o m je ekvivalentní prvnímu členu a 2 o mocninu m.

n<< m = n*prášek (2, m)

Pravý posun o m odpovídá dělení prvního členu a 2 o mocninu m.

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

Je to práce pouze tehdy, když je m kladné.

// Příklad2.c
#zahrnout

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

návrat 0;
}

V příkladu2.c jsme viděli, jak lze operátor bitového posunu použít pro exponent k síle 2. Je velmi užitečné snížit složitost kódu.

Exponent pomocí funkce definované uživatelem

Můžeme napsat uživatelem definovanou funkci pro výpočet exponentů. V příkladu3.c napíšeme uživatelem definovanou funkci exponent (), který má dva argumenty založené a exp typu float ant integer.

//Příklad3.c
#zahrnout

plovákexponent(plovákzákladna, int zk )
{
plovákvýsledek=1,0;
plovák;
-li( zk < 0)
{
zk = -1 * zk ;
pro(=1;<= zk ;++)
výsledek=výsledek*základna;

výsledek= 1,0/výsledek;
}
jiný
{
pro(=1;%F', exponent (3,0));
printf ('
nexponent(3, -5) => %F', exponent (3, -5));
printf ('
nexponent(-3, -5) => %F', exponent (-3, -5));

návrat 0;
}

Příklad3.c viděli jsme výstup funkce definované uživatelem exponent () . Tato funkce funguje, když je exponent integrální. Pro skutečného exponenta musíme použít NS () funkce.

Závěr

V tomto článku jsme viděli použití NS () funkce a Bitové řazení operátor, jak lze vypočítat exponent v jazyce C. Také jsme se naučili psát vlastní funkci pro výpočet exponentů. Nyní můžeme tyto techniky bez pochyb použít v našem programu C.