Sintaksis
dua kali lipat pow(dua kali lipat mendasarkan, dua kali lipat exp);
Itu pow() fungsi didefinisikan dalam matematika.h file header.
Argumen
Fungsi ini membutuhkan dua argumen, mendasarkan dan exp, untuk menghitung nilai mendasarkan diangkat ke kekuatan exp. Sini mendasarkan dan exp keduanya ganda.
Mengembalikan nilai
Pada kesuksesan, pow() fungsi mengembalikan nilai mendasarkan diangkat ke kekuatan exp.
Jika nilai exp adalah 0, pow() fungsi mengembalikan 1.
Jika mendasarkan negatif dan exp tidak integral, maka pow() fungsi kembali NaN (Bukan-A-Nomor).
Contoh
//Contoh 1.c#termasuk
#termasuk
int utama()
int hasil;
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));
kembali 0;
Dalam Contoh1.c, kita telah melihat output dari pow() fungsi. Di sini kita menggunakan -aku parameter baris perintah untuk ditautkan di perpustakaan matematika. Dari baris 10 hingga 13, kami mendapatkan output seperti yang diharapkan. Untuk baris 14 dan 15, kita dapatkan -nan(Bukan angka) karena argumen kedua tidak integral.
Eksponen menggunakan Pergeseran Bit
Jika kita ingin menghitung eksponen pangkat 2, maka kita dapat melakukannya dengan menggunakan bit shifting.
Pergeseran kiri sebesar m setara dengan suku pertama dan 2 pangkat m.
tidak << m = n*pow(2,m)
Pergeseran kanan sebesar m setara dengan pembagian suku pertama dan 2 pangkat m.
n>>m = n/pow(2,m)
Ini hanya bekerja ketika m positif.
//Contoh2.c#termasuk
int utama()
printf("\n1< %d",1<<3);
printf("\n5< %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);
kembali 0;
Dalam Contoh2.c, kita telah melihat bagaimana operator bit shift dapat digunakan untuk pangkat 2. Sangat berguna untuk mengurangi kerumitan kode.
Eksponen menggunakan fungsi yang ditentukan pengguna
Kita dapat menulis fungsi yang ditentukan pengguna untuk menghitung eksponen. Dalam Contoh3.c, kami akan menulis fungsi yang ditentukan pengguna eksponen (), yang mengambil dua argumen berdasarkan dan exp tipe float ant integer.
//Contoh3.c#termasuk
eksponen float (basis mengambang, int exp)
hasil mengambang = 1.0;
mengapung saya;
jika (exp < 0)
exp = -1 * exp;
untuk(i=1;i<=exp;i++)
hasil = hasil * basis;
hasil = 1.0/hasil;
lain
untuk(i=1;i %f",eksponen(3,0));
printf("\nexponent(3,-5) => %f",eksponen(3,-5));
printf("\neksponen(-3,-5) => %f",eksponen(-3,-5));
kembali 0;
Contoh3.c kita telah melihat output dari fungsi yang ditentukan pengguna eksponen (). Fungsi ini bekerja ketika eksponen adalah integral. Untuk eksponen nyata, kita harus menggunakan pow() fungsi.
Kesimpulan
Dalam artikel ini, kita telah melihat menggunakan pow() fungsi dan Pergeseran sedikit operator bagaimana eksponen dapat dihitung dalam bahasa C. Kami juga telah belajar bagaimana menulis fungsi kami sendiri untuk menghitung eksponen. Sekarang kita dapat menggunakan teknik ini dalam program C kita tanpa keraguan without.