Bagaimana Anda Menulis Eksponen dalam C?

How Do You Write An Exponent C



Dalam bahasa C, nilai eksponen dapat dikira menggunakan NS() fungsi. Artikel ini akan belajar bagaimana menggunakan NS() berfungsi untuk melakukan operasi eksponen. Kami juga akan belajar bagaimana menggunakan pengendali pertukaran bit untuk melakukan operasi eksponen. Kami akan cuba menulis fungsi yang ditentukan pengguna untuk mengira eksponen. Jadi, mari kita mulakan.

Sintaks

berganda NS ( berganda asas, berganda exp);







The NS() fungsi ditakrifkan dalam matematik.h fail pengepala.



Hujah

Fungsi ini mengambil dua hujah, asas dan tamat, untuk mengira nilai asas dinaikkan ke kekuatan luput . Di sini asas dan luput kedua-duanya berganda.



Nilai pulangan

Pada kejayaan, yang NS() fungsi mengembalikan nilai asas dinaikkan ke kekuatan luput .





Sekiranya nilai luput ialah 0, yang NS() fungsi mengembalikan 1.

Sekiranya asas adalah negatif dan luput tidak sepadu, yang NS() fungsi kembali NaN (Bukan-A-Nombor).



Contoh

//Contoh1.c
#sertakan
#sertakan

intutama()
{

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

kembali 0;
}

Dalam Contoh1.c, kita telah melihat output dari NS() fungsi. Di sini kita menggunakan -lm parameter baris arahan untuk dihubungkan di perpustakaan matematik. Dari baris 10 hingga 13, kami mendapat output seperti yang diharapkan. Untuk baris 14 dan 15, kita ada -nan (Bukan nombor) kerana argumen kedua tidak integral.

Eksponen menggunakan Bit Shifting

Sekiranya kita mahu mengira eksponen kepada kekuatan 2, maka kita boleh melakukannya dengan menggunakan bit shifting.

Pergeseran kiri oleh m sama dengan penggal pertama dan 2 ke daya m.

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

Pergeseran ke kanan oleh m sama dengan pembahagian penggal pertama dan 2 ke kekuatan m.

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

Ia hanya berfungsi apabila m positif.

//Contoh2.c
#sertakan

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

pulangan 0;
}

Dalam Contoh2.c, kita telah melihat bagaimana pengendali peralihan bit dapat digunakan untuk eksponen ke kekuatan 2. Ia sangat berguna untuk mengurangkan kerumitan kod.

Eksponen menggunakan fungsi yang ditentukan pengguna

Kita boleh menulis fungsi yang ditentukan pengguna untuk mengira eksponen. Dalam Contoh3.c, kita akan menulis fungsi yang ditentukan pengguna eksponen (), yang mengambil dua argumen berdasarkan dan exp of type float ant integer.

//Contoh3.c
#sertakan

terapungeksponen(terapungasas, int luput )
{
terapunghasil=1.0;
terapungi;
sekiranya( luput < 0)
{
luput = -1 * luput ;
untuk(i=1;i<= luput ;i++)
hasil=hasil*asas;

hasil= 1.0/hasil;
}
yang lain
{
untuk(i=1;i%f', eksponen (3,0));
printf ('
nexponent(3, -5) => %f', eksponen (3, -5));
printf ('
nexponent(-3, -5) => %f', eksponen (-3, -5));

pulangan 0;
}

Contoh3.c kita telah melihat output fungsi yang ditentukan pengguna eksponen () . Fungsi ini berfungsi ketika eksponen tidak terpisahkan. Untuk eksponen sebenar, kita harus menggunakan NS() fungsi.

Kesimpulannya

Dalam artikel ini, kita telah melihat penggunaan NS() fungsi dan Peralihan bit pengendali bagaimana eksponen dapat dikira dalam bahasa C. Kami juga telah belajar menulis fungsi kita sendiri untuk mengira eksponen. Sekarang kita dapat menggunakan teknik ini dalam program C kita tanpa keraguan.