Rumah >pembangunan bahagian belakang >C++ >Mengapa Ketepatan Berganda Nampaknya Mempunyai Lebih Banyak Tempat Perpuluhan Daripada 15 yang Diiklankan?
Dalam pengaturcaraan komputer, jenis data ketepatan berganda sering diandaikan mempunyai ketepatan anggaran 15 tempat perpuluhan. Walau bagaimanapun, perwakilan nombor tertentu, seperti 1.0/7.0, nampaknya mempunyai lebih ketepatan apabila diwakili secara dalaman dalam pembolehubah. Artikel ini akan meneroka sebab ini berlaku dan sebab ketepatan sering digambarkan sebagai sekitar 15 tempat perpuluhan.
Dua IEEE mempunyai 53 bit bererti, lebih kurang sama dengan 15.95 digit perpuluhan. Untuk mengambil kira pembundaran, pelaksanaan menetapkan ketepatan (DBL_DIG) kepada 15. Ini memberikan hampir digit perpuluhan tambahan ketepatan melebihi apa yang tersirat oleh DBL_DIG.
Apabila memaparkan dua kali ganda, penyusun biasanya membundarkan nilai berdasarkan ketepatan. Contohnya, 1.0/7.0, apabila dipaparkan dengan "%.17g", mempunyai ketepatan 17 digit. Walau bagaimanapun, jika "%.64g" digunakan, tiada digit bererti muncul melebihi ketepatan 15 digit yang dijangkakan.
Nombor ketepatan berganda mempunyai perwakilan dalaman yang membenarkan sekitar 15.95 digit perpuluhan ketepatan. Walau bagaimanapun, disebabkan pembundaran, ketepatan yang dipaparkan biasanya ditetapkan kepada 15 tempat perpuluhan. Penjelasan ini membantu menjelaskan sebab nombor tepat tertentu, seperti 1.0/7.0, nampaknya mempunyai lebih ketepatan secara dalaman tetapi masih mematuhi anggaran ketepatan 15 digit apabila dipaparkan.
Atas ialah kandungan terperinci Mengapa Ketepatan Berganda Nampaknya Mempunyai Lebih Banyak Tempat Perpuluhan Daripada 15 yang Diiklankan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!