Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menentukan sama ada Pengkompil C Mematuhi Piawaian IEEE 754?
Tidak seperti C, yang memerlukan semakan takrifan khusus untuk mengesahkan sama ada pengkompil mematuhi piawaian IEEE 754, C menawarkan pendekatan yang lebih lurus. Standard C termasuk kelas numeric_limits dalam ruang nama std. Untuk menentukan sama ada pengkompil menggunakan IEEE 754, hanya akses ahli statik is_iec559 seperti berikut:
<code class="cpp">std::numeric_limits<double>::is_iec559;</code>
atau:
<code class="cpp">std::numeric_limits<float>::is_iec559;</code>
Ungkapan ini kembali benar jika IEEE 754 sedang digunakan, dan false sebaliknya.
Sebagai alternatif, seperti yang dicadangkan oleh jawapan Adam, anda juga boleh menggunakan kaedah lain:
<code class="cpp">#include <iostream> #include <cmath> int main() { double d = -0.0; std::cout << (std::signbit(d) != std::signbit(-d)) << std::endl; return 0; }</code>
Jika pengkompil menyokong IEEE 754, kod ini mengeluarkan 0; jika tidak, ia mengeluarkan 1.
Atas ialah kandungan terperinci Bagaimana untuk Menentukan sama ada Pengkompil C Mematuhi Piawaian IEEE 754?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!