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

Linda Hamilton
Lepaskan: 2024-10-28 09:10:29
asal
986 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!

sumber:php.cn
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!