Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menentukan sama ada Pengkompil C Mematuhi Piawaian IEEE 754?

Bagaimana untuk Menentukan sama ada Pengkompil C Mematuhi Piawaian IEEE 754?

Linda Hamilton
Lepaskan: 2024-10-28 09:10:29
asal
1136 orang telah melayarinya

How to Determine if a C   Compiler Adheres to the IEEE 754 Standard?

Menentukan Penggunaan Pengkompil bagi Piawaian IEEE 754 dalam C

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>
Salin selepas log masuk

atau:

<code class="cpp">std::numeric_limits<float>::is_iec559;</code>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan