Maison >développement back-end >C++ >Comment déterminer si un compilateur C adhère à la norme IEEE 754 ?
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!