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.