Pemrograman C

Mengatur Presisi Desimal dalam Bahasa C

Mengatur Presisi Desimal dalam Bahasa C

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:

    1. Presisi default untuk float
    2. Presisi default untuk ganda
    3. Atur presisi untuk float
    4. 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.

#termasuk
int 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.

#termasuk
int 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.

#termasuk
int 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.

#termasuk
int 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.

Tutorial OpenTTD
OpenTTD adalah salah satu game simulasi bisnis paling populer di luar sana. Dalam game ini, Anda perlu membuat bisnis transportasi yang luar biasa. Na...
SuperTuxKart untuk Linux
SuperTuxKart adalah judul hebat yang dirancang untuk memberi Anda pengalaman Mario Kart gratis di sistem Linux Anda. Ini cukup menantang dan menyenang...
Pertempuran untuk Tutorial Westnoth
The Battle for Wesnoth adalah salah satu game strategi open source terpopuler yang bisa kamu mainkan saat ini. Tidak hanya game ini telah dikembangkan...