Rumah >pembangunan bahagian belakang >C++ >Mengapa Ketepatan Berganda Menunjukkan 17 Tempat Perpuluhan untuk Beberapa Perpuluhan Berulang?
Ketepatan Berganda: Meneroka Ketepatan Perwakilan Perpuluhan
Ketepatan berganda, jenis data yang biasa digunakan dalam pengaturcaraan, menawarkan ketepatan yang dituntut kira-kira 15 perpuluhan tempat. Walau bagaimanapun, apabila berurusan dengan nilai yang diwakili sebagai perpuluhan berulang, seperti 1.0/7.0, anomali timbul.
Mengapa 17 Tempat Perpuluhan?
Secara dalaman, nombor ketepatan berganda mempunyai 53 bit bererti, yang diterjemahkan kepada kira-kira 15.95 digit perpuluhan. Walaupun ini secara teorinya harus membawa kepada 16 tempat perpuluhan perwakilan, pelaksanaan dibundarkan ke bawah kepada 15 (ditandakan dengan DBL_DIG).
Untuk menggambarkan, fungsi nextafter() boleh mendedahkan nombor boleh mewakili terdekat bersebelahan dengan nilai yang diberikan. Apabila digunakan pada 1.0/7.0 (0.14285714285714285), kami memerhatikan 17 tempat perpuluhan yang dipaparkan. Perubahan dalam digit terakhir menunjukkan ketepatan sebenar perwakilan.
Ketepatan dan Peluang
Dalam kes 1.0/7.0, digit terakhir yang dipaparkan secara kebetulan sepadan dengan nilai matematik (5). Walau bagaimanapun, untuk perpuluhan berulang yang lain (cth., 1.0/3.0), digit terakhir mungkin tidak sejajar, menunjukkan had perwakilan perpuluhan yang tepat.
Atas ialah kandungan terperinci Mengapa Ketepatan Berganda Menunjukkan 17 Tempat Perpuluhan untuk Beberapa Perpuluhan Berulang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!