Maison >développement back-end >C++ >Comment déterminer si un compilateur C adhère à la norme IEEE 754 ?

Comment déterminer si un compilateur C adhère à la norme IEEE 754 ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-28 09:10:291072parcourir

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

Détermination de l'utilisation par le compilateur de la norme IEEE 754 en C

Contrairement au C, qui nécessite une vérification de définition spécifique pour vérifier si le compilateur adhère à la norme IEEE 754, C propose une approche plus simple. Le standard C inclut la classe numeric_limits dans l'espace de noms std. Pour déterminer si le compilateur utilise IEEE 754, accédez simplement au membre statique is_iec559 comme suit :

<code class="cpp">std::numeric_limits<double>::is_iec559;</code>

ou :

<code class="cpp">std::numeric_limits<float>::is_iec559;</code>

Cette expression renvoie vrai si IEEE 754 est utilisé, et false sinon.

Alternativement, comme suggéré par la réponse d'Adam, vous pouvez également utiliser une autre méthode :

<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>

Si le compilateur prend en charge IEEE 754, ce code génère 0 ; sinon, il génère 1.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn