Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Meniru Aritmetik Ketepatan Berganda Menggunakan Terapung Ketepatan Tunggal?
Meniru Aritmetik Ketepatan Berganda dengan Terapung
Dalam senario tertentu, sistem perkakasan terbenam dengan sokongan titik terapung terhad mungkin menghadapi keperluan untuk berganda -fungsi ketepatan. Ini menimbulkan persoalan bagaimana untuk mencapainya menggunakan hanya operasi titik terapung ketepatan tunggal.
Untuk mencontohi nilai ketepatan dua kali, pendekatannya ialah menggunakan struktur yang mengandungi tuple dua terapung ketepatan tunggal, mewakili bahagian tinggi dan rendah ganda. Perbandingan boleh dilakukan menggunakan susunan leksikografik.
Walau bagaimanapun, operasi tambah memberikan cabaran. Asas untuk penambahan perlu dipertimbangkan dengan teliti untuk memastikan ketepatan. Adalah disyorkan untuk menggunakan gandaan FLT_MAX (nilai maksimum yang boleh diwakili oleh apungan ketepatan tunggal) untuk mengelakkan aliran bawah atau limpahan perantaraan.
Untuk mengesan pembawa, seseorang boleh menolak jumlah dua apungan daripada nilai yang dijangkakan. Jika hasilnya kurang daripada atau sama dengan sifar, bawa telah berlaku.
Rujukan di bawah memberikan cerapan berharga tentang teknik untuk emulasi berketepatan dua kali menggunakan terapung ketepatan tunggal pada seni bina GPU:
Atas ialah kandungan terperinci Bagaimana untuk Meniru Aritmetik Ketepatan Berganda Menggunakan Terapung Ketepatan Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!