Pemrograman C

Bagaimana Anda Menulis Eksponen di C?

Bagaimana Anda Menulis Eksponen di C?
Dalam bahasa C, nilai eksponen dapat dihitung menggunakan pow() fungsi. Artikel ini akan mempelajari cara menggunakan pow() fungsi untuk melakukan operasi eksponensial. Kita juga akan belajar bagaimana menggunakan operator pengalih bit untuk melakukan operasi eksponensial. Kami akan mencoba menulis fungsi yang ditentukan pengguna untuk menghitung eksponen.  Jadi, mari kita mulai.

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.

Instal Dolphin Emulator terbaru untuk Gamecube & Wii di Linux
Dolphin Emulator memungkinkan Anda memainkan game Gamecube & Wii pilihan Anda di Komputer Pribadi (PC) Linux. Menjadi emulator game sumber terbuka da...
Cara Menggunakan Cheat Engine GameConqueror di Linux
Artikel ini mencakup panduan tentang menggunakan mesin cheat GameConqueror di Linux. Banyak pengguna yang bermain game di Windows sering menggunakan a...
Emulator Konsol Game Terbaik untuk Linux
Artikel ini akan mencantumkan perangkat lunak emulasi konsol game populer yang tersedia untuk Linux. Emulasi adalah lapisan kompatibilitas perangkat l...