Artikel ini akan menunjukkan kepada Anda cara mengatur presisi desimal dalam bahasa pemrograman C. Pertama, kita akan mendefinisikan presisi, dan kemudian, kita akan melihat beberapa contoh untuk menunjukkan cara mengatur presisi desimal dalam pemrograman C.
Presisi Desimal dalam C
Variabel tipe integer biasanya digunakan untuk menampung bilangan bulat dan variabel tipe float untuk menampung bilangan real dengan bagian pecahan, misalnya 2.449561 atau -1.0587. Presisi menentukan keakuratan bilangan real dan dilambangkan dengan titik (.) simbol. Ketepatan atau Akurasi bilangan real ditunjukkan dengan jumlah digit setelah titik desimal. Jadi, presisi berarti jumlah digit yang disebutkan setelah titik desimal dalam bilangan float. Misalnya, nomor 2.449561 memiliki presisi enam, dan -1.058 memiliki presisi tiga.
Sesuai representasi floating point presisi tunggal IEEE-754, ada total 32 bit untuk menyimpan bilangan real. Dari 32 bit tersebut, bit yang paling signifikan digunakan sebagai bit tanda, 8 bit berikut digunakan sebagai eksponen, dan 23 bit berikut digunakan sebagai pecahan.
Dalam kasus representasi floating point presisi ganda IEEE-754, ada total 64 bit untuk menyimpan bilangan real. Dari 64 bit tersebut, bit yang paling signifikan digunakan sebagai bit tanda, 11 bit berikut digunakan sebagai eksponen, dan 52 bit berikutnya digunakan sebagai pecahan.
Namun, saat mencetak bilangan real, perlu untuk menentukan presisi (dengan kata lain, akurasi) dari bilangan real. Jika presisi tidak ditentukan, presisi default akan dipertimbangkan, i.e., enam angka desimal setelah titik desimal. Dalam contoh berikut, kami akan menunjukkan kepada Anda cara menentukan presisi saat mencetak angka titik-mengambang dalam bahasa pemrograman C.
Contoh
Sekarang setelah Anda memiliki pemahaman dasar tentang presisi, mari kita lihat beberapa contoh:
-
- Presisi default untuk float
- Presisi default untuk ganda
- Atur presisi untuk float
- Atur presisi untuk ganda
Contoh 1: Presisi Default untuk Float
Contoh ini menunjukkan bahwa presisi default diatur ke enam digit setelah titik desimal. Kami telah menginisialisasi variabel float dengan nilai 2.7 dan mencetaknya tanpa secara eksplisit menentukan presisi.
Dalam hal ini, pengaturan presisi default akan memastikan bahwa enam digit setelah titik desimal dicetak.
#termasukint utama()
mengapung f = 2.7;
printf("\nNilai dari f = %f \n", f);
printf("Ukuran float = %ld \n", sizeof(float));
kembali 0;
Contoh 2: Presisi Default untuk Double
Dalam contoh ini, Anda akan melihat bahwa presisi default diatur ke enam digit setelah titik desimal untuk variabel tipe ganda. Kami telah menginisialisasi variabel ganda, i.e., d, dengan nilai 2.7 dan mencetaknya tanpa menentukan presisi. Dalam hal ini, pengaturan presisi default akan memastikan bahwa enam digit setelah titik desimal dicetak.
#termasukint utama()
d ganda = 2.7;
printf("\nNilai d = %lf \n", d);
printf("Ukuran Ganda = %ld \n", sizeof(ganda));
kembali 0;
Contoh 3: Tetapkan Presisi untuk Float
Sekarang, kami akan menunjukkan cara menyetel presisi untuk nilai float. Kami telah menginisialisasi variabel float, i.e., f, dengan nilai 2.7, dan mencetaknya dengan berbagai pengaturan presisi. Saat kami menyebutkan “%0.4f” dalam pernyataan printf, ini menunjukkan bahwa kami tertarik untuk mencetak empat digit setelah titik desimal.
#termasukint utama()
mengapung f = 2.7;
/* mengatur presisi untuk variabel float */
printf("\nNilai dari f (presisi = 0.1) = %0.1f \n", f);
printf("\nNilai dari f (presisi = 0.2) = %0.2f \n", f);
printf("\nNilai dari f (presisi = 0.3) = %0.3f \n", f);
printf("\nNilai f (presisi = 0.4) = %0.4f \n", f);
printf("\nNilai dari f (presisi = 0.22) = %0.22f \n", f);
printf("\nNilai dari f (presisi = 0.23) = %0.23f \n", f);
printf("\nNilai dari f (presisi = 0.24) = %0.24f \n", f);
printf("\nNilai dari f (presisi = 0.25) = %0.25f \n", f);
printf("\nNilai f (presisi = 0.40) = %0.40f \n", f);
printf("Ukuran Pelampung = %ld \n", sizeof(Apungan));
kembali 0;
Contoh 4: Tetapkan Presisi untuk Ganda
Dalam contoh ini, kita akan melihat cara mengatur presisi untuk nilai ganda double. Kami telah menginisialisasi variabel ganda, i.e., d, dengan nilai 2.7 dan mencetaknya dengan berbagai pengaturan presisi. Saat kami menyebutkan “%0.52f” dalam pernyataan printf, ini menunjukkan bahwa kami tertarik untuk mencetak 52 digit setelah titik desimal.
#termasukint utama()
mengapung f = 2.7;
/* mengatur presisi untuk variabel float */
printf("\nNilai dari f (presisi = 0.1) = %0.1f \n", f);
printf("\nNilai dari f (presisi = 0.2) = %0.2f \n", f);
printf("\nNilai dari f (presisi = 0.3) = %0.3f \n", f);
printf("\nNilai dari f (presisi = 0.4) = %0.4f \n", f);
printf("\nNilai dari f (presisi = 0.22) = %0.22f \n", f);
printf("\nNilai f (presisi = 0.23) = %0.23f \n", f);
printf("\nNilai dari f (presisi = 0.24) = %0.24f \n", f);
printf("\nNilai f (presisi = 0.25) = %0.25f \n", f);
printf("\nNilai f (presisi = 0.40) = %0.40f \n", f);
printf("Ukuran Pelampung = %ld \n", sizeof(Apungan));
kembali 0;
Kesimpulan
Presisi adalah faktor yang sangat penting untuk merepresentasikan bilangan real dengan akurasi yang memadai. Bahasa pemrograman c menyediakan mekanisme untuk mengontrol akurasi atau ketepatan bilangan real. Namun, kita tidak dapat mengubah presisi sebenarnya dari bilangan real. Misalnya, bagian pecahan dari angka titik-mengambang presisi tunggal 32-bit diwakili oleh 23 bit, dan ini tetap; kami tidak dapat mengubah ini untuk sistem tertentu. Kami hanya dapat memutuskan seberapa banyak akurasi yang kami inginkan dengan mengatur presisi yang diinginkan dari bilangan real. Jika kami membutuhkan lebih banyak akurasi, kami selalu dapat menggunakan nomor floating-point presisi ganda 64-bit.