Artikel ini akan menunjukkan kepada anda cara menetapkan ketepatan perpuluhan dalam bahasa pengaturcaraan C. Pertama, kita akan menentukan ketepatan, dan kemudian, kita akan melihat beberapa contoh untuk menunjukkan bagaimana menetapkan ketepatan perpuluhan dalam pengaturcaraan C.
Ketepatan Perpuluhan dalam C
Pemboleh ubah jenis integer biasanya digunakan untuk menahan nombor bulat dan pemboleh ubah jenis terapung untuk memegang nombor nyata dengan bahagian pecahan, misalnya, 2.449561 atau -1.0587. Ketepatan menentukan ketepatan nombor nyata dan dilambangkan dengan titik (.) simbol. Ketepatan atau Ketepatan nombor nyata ditunjukkan oleh bilangan digit selepas titik perpuluhan. Jadi, ketepatan bermaksud bilangan digit yang disebutkan selepas titik perpuluhan dalam nombor apungan. Contohnya, nombor 2.449561 mempunyai ketepatan enam, dan -1.058 mempunyai ketepatan tiga.
Berdasarkan perwakilan titik terapung ketepatan tunggal IEEE-754, terdapat 32 bit untuk menyimpan nombor sebenar. Dari 32 bit, bit yang paling ketara digunakan sebagai bit tanda, 8 bit berikut digunakan sebagai eksponen, dan 23 bit berikut digunakan sebagai pecahan.
Sekiranya perwakilan titik terapung berketepatan ganda IEEE-754, terdapat sejumlah 64 bit untuk menyimpan nombor sebenar. Daripada 64 bit, bit yang paling signifikan digunakan sebagai bit tanda, 11 bit berikut digunakan sebagai eksponen, dan 52 bit berikut digunakan sebagai pecahan.
Walau bagaimanapun, semasa mencetak nombor sebenar, perlu menentukan ketepatan (dengan kata lain, ketepatan) nombor sebenarnya. Sekiranya ketepatan tidak ditentukan, ketepatan lalai akan dipertimbangkan, i.e., enam digit perpuluhan selepas titik perpuluhan. Dalam contoh berikut, kami akan menunjukkan kepada anda cara menentukan ketepatan semasa mencetak nombor floating-point dalam bahasa pengaturcaraan C.
Contoh
Setelah anda memahami asas ketepatan, mari kita lihat beberapa contoh:
-
- Ketepatan lalai untuk apungan
- Ketepatan lalai untuk dua kali ganda
- Tetapkan ketepatan untuk apungan
- Tetapkan ketepatan untuk berganda
Contoh 1: Ketepatan Lalai untuk Float
Contoh ini menunjukkan bahawa ketepatan lalai ditetapkan menjadi enam digit selepas titik perpuluhan. Kami telah memulakan pemboleh ubah float dengan nilai 2.7 dan mencetaknya tanpa menyatakan ketepatan secara jelas.
Dalam kes ini, tetapan ketepatan lalai akan memastikan bahawa enam digit selepas titik perpuluhan dicetak.
#sertakanint utama ()
apungan f = 2.7;
printf ("\ nNilai f =% f \ n", f);
printf ("Ukuran apungan =% ld \ n", sizeof (apungan));
pulangan 0;
Contoh 2: Ketepatan Lalai untuk Double
Dalam contoh ini, anda akan melihat bahawa ketepatan lalai ditetapkan menjadi enam digit selepas titik perpuluhan untuk pemboleh ubah jenis berganda. Kami telah memulakan pemboleh ubah berganda, i.e., d, dengan nilai 2.7 dan mencetaknya tanpa menyatakan ketepatan. Dalam kes ini, tetapan ketepatan lalai akan memastikan bahawa enam digit selepas titik perpuluhan dicetak.
#sertakanint utama ()
berganda d = 2.7;
printf ("\ nNilai d =% lf \ n", d);
printf ("Saiz ganda =% ld \ n", sizeof (dua kali ganda));
pulangan 0;
Contoh 3: Tetapkan Ketepatan untuk Terapung
Sekarang, kami akan menunjukkan kepada anda cara menetapkan ketepatan untuk nilai apungan. Kami telah memulakan pemboleh ubah float, i.e., f, dengan nilai 2.7, dan mencetaknya dengan pelbagai tetapan ketepatan. Apabila kita menyebut “% 0.4f ”dalam pernyataan printf, ini menunjukkan bahawa kami berminat mencetak empat digit selepas titik perpuluhan.
#sertakanint utama ()
apungan f = 2.7;
/ * tetapkan ketepatan untuk pemboleh ubah apungan * /
printf ("\ n Nilai f (ketepatan = 0.1) =% 0.1f \ n ", f);
printf ("\ nNilai f (ketepatan = 0.2) =% 0.2f \ n ", f);
printf ("\ nNilai f (ketepatan = 0.3) =% 0.3f \ n ", f);
printf ("\ n Nilai f (ketepatan = 0.4) =% 0.4f \ n ", f);
printf ("\ n Nilai f (ketepatan = 0.22) =% 0.22f \ n ", f);
printf ("\ nNilai f (ketepatan = 0.23) =% 0.23f \ n ", f);
printf ("\ n Nilai f (ketepatan = 0.24) =% 0.24f \ n ", f);
printf ("\ n Nilai f (ketepatan = 0.25) =% 0.25f \ n ", f);
printf ("\ nNilai f (ketepatan = 0.40) =% 0.40f \ n ", f);
printf ("Ukuran apungan =% ld \ n", sizeof (apungan));
pulangan 0;
Contoh 4: Tetapkan Ketepatan untuk Berganda
Dalam contoh ini, kita akan melihat bagaimana menetapkan ketepatan untuk nilai berganda. Kami telah memulakan pemboleh ubah berganda, i.e., d, dengan nilai 2.7 dan mencetaknya dengan pelbagai tetapan ketepatan. Apabila kita menyebut “% 0.52f ”dalam pernyataan printf, ini menunjukkan bahawa kami berminat mencetak 52 digit selepas titik perpuluhan.
#sertakanint utama ()
apungan f = 2.7;
/ * tetapkan ketepatan untuk pemboleh ubah apungan * /
printf ("\ nNilai f (ketepatan = 0.1) =% 0.1f \ n ", f);
printf ("\ n Nilai f (ketepatan = 0.2) =% 0.2f \ n ", f);
printf ("\ n Nilai f (ketepatan = 0.3) =% 0.3f \ n ", f);
printf ("\ n Nilai f (ketepatan = 0.4) =% 0.4f \ n ", f);
printf ("\ nNilai f (ketepatan = 0.22) =% 0.22f \ n ", f);
printf ("\ nNilai f (ketepatan = 0.23) =% 0.23f \ n ", f);
printf ("\ n Nilai f (ketepatan = 0.24) =% 0.24f \ n ", f);
printf ("\ nNilai f (ketepatan = 0.25) =% 0.25f \ n ", f);
printf ("\ n Nilai f (ketepatan = 0.40) =% 0.40f \ n ", f);
printf ("Ukuran apungan =% ld \ n", sizeof (apungan));
pulangan 0;
Kesimpulannya
Ketepatan adalah faktor yang sangat penting untuk mewakili nombor nyata dengan ketepatan yang mencukupi. Bahasa pengaturcaraan c menyediakan mekanisme untuk mengawal ketepatan atau ketepatan nombor nyata. Namun, kami tidak dapat mengubah ketepatan sebenar nombor nyata. Sebagai contoh, bahagian pecahan nombor titik terapung ketepatan tunggal 32-bit diwakili oleh 23 bit, dan ini tetap; kita tidak boleh mengubahnya untuk sistem tertentu. Kami hanya dapat menentukan berapa banyak ketepatan yang kami mahukan dengan menetapkan ketepatan nombor sebenar yang diinginkan. Sekiranya kita memerlukan lebih banyak ketepatan, kita selalu boleh menggunakan nombor titik terapung berketepatan 64 bit.