Pengaturcaraan C

Bagaimana Anda Menulis Eksponen di C?

Bagaimana Anda Menulis Eksponen di C?
Dalam bahasa C, nilai eksponen dapat dikira menggunakan pow () fungsi. Artikel ini akan mempelajari cara menggunakan pow () 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.  Oleh itu, mari kita mulakan.

Sintaks

berganda pow(berganda pangkalan, berganda exp);

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

Hujah

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

Nilai pulangan

Pada kejayaan, yang pow () fungsi mengembalikan nilai pangkalan dinaikkan ke kekuatan luput.

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

Sekiranya pangkalan adalah negatif dan luput tidak terpadu, pow () fungsi kembali NaN (Bukan-A-Nombor).

Contoh

// Contoh1.c
#sertakan
#sertakan
int utama ()

hasil int;
hasil = (int) pow (3,5);
printf ("\ npow (3,5) =>% d", hasil);
printf ("\ npow (3, -5) =>% lf", pow (3, -5));
printf ("\ npow (-3, -5) =>% lf", pow (-3, -5));
printf ("\ npow (3,5.1) =>% lf ", pow (3,5.1));
printf ("\ npow (-3,5.1) =>% lf ", pow (-3,5.1));
printf ("\ npow (-3, -5.1) =>% lf \ n ", pow (-3, -5.1));
pulangan 0;

Dalam Contoh1.c, kita telah melihat output dari pow () 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 ingin mengira eksponen dengan kekuatan 2, maka kita dapat 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 adalah 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
int utama ()

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);
pulangan 0;

Dalam Contoh2.c, kami telah melihat bagaimana pengendali bit shift dapat digunakan untuk eksponen dengan 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, kami akan menulis fungsi yang ditentukan pengguna eksponen (), yang mengambil dua argumen berdasarkan dan exp of type float ant integer.

// Contoh3.c
#sertakan
eksponen apungan (landasan apungan, int exp)

hasil apungan = 1.0;
apungan i;
sekiranya (mis < 0)

exp = -1 * exp;
untuk (i = 1; i<=exp;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 mesti menggunakan pow () fungsi.

Kesimpulannya

Dalam artikel ini, kita telah melihat penggunaan pow () 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.

Cara Menggunakan Mesin Cheat GameConqueror di Linux
Artikel ini merangkumi panduan mengenai penggunaan mesin cheat GameConqueror di Linux. Ramai pengguna yang bermain permainan di Windows sering menggun...
Emulator Konsol Permainan Terbaik untuk Linux
Artikel ini akan menyenaraikan perisian emulasi konsol permainan popular yang tersedia untuk Linux. Emulation adalah lapisan keserasian perisian yang ...
Distro Linux Terbaik untuk Permainan pada tahun 2021
Sistem operasi Linux telah jauh dari tampilan asal, ringkas dan berasaskan pelayan. OS ini telah berkembang pesat dalam beberapa tahun kebelakangan in...