Vérification de la conformité IEEE 754 en C
Contrairement au C, où une macro spécifique peut être utilisée pour déterminer si le compilateur adhère à l'IEEE 754 à virgule flottante, C propose une approche plus simple.
Selon la norme C (18.2.1.1), la classe std::numeric_limits contient un membre statique is_iec559 . Ce membre indique si IEEE 754 est pris en charge pour le type à virgule flottante spécifié.
Pour vérifier si votre compilateur utilise IEEE 754, vous pouvez utiliser le code suivant :
<code class="cpp">std::cout << std::boolalpha; std::cout << "Double: " << std::numeric_limits<double>::is_iec559 << std::endl; std::cout << "Float: " << std::numeric_limits<float>::is_iec559 << std::endl;</code>
La sortie de ce code sera true si IEEE 754 est utilisé pour les types à virgule flottante respectifs et false sinon.
Alternativement, vous pouvez utiliser la méthode suggérée par Adam's réponse pour C. Cependant, il convient de noter que différents compilateurs peuvent disposer de mécanismes spécifiques pour vérifier la conformité à la norme IEEE 754. Il est recommandé de consulter la documentation de votre compilateur pour obtenir des informations supplémentaires.
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!