Im Gegensatz zu C, das eine spezifische Definitionsprüfung erfordert, um zu überprüfen, ob der Compiler den IEEE 754-Standard einhält, bietet C dies an ein einfacherer Ansatz. Der C-Standard enthält die Klasse numeric_limits im std-Namespace. Um festzustellen, ob der Compiler IEEE 754 verwendet, greifen Sie einfach wie folgt auf das statische Mitglied is_iec559 zu:
<code class="cpp">std::numeric_limits<double>::is_iec559;</code>
oder:
<code class="cpp">std::numeric_limits<float>::is_iec559;</code>
Dieser Ausdruck gibt „true“ zurück, wenn IEEE 754 verwendet wird, und andernfalls falsch.
Alternativ können Sie, wie in Adams Antwort vorgeschlagen, auch eine andere Methode verwenden:
<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>
Wenn der Compiler IEEE 754 unterstützt, gibt dieser Code 0 aus; andernfalls wird 1 ausgegeben.
Das obige ist der detaillierte Inhalt vonWie kann festgestellt werden, ob ein C-Compiler dem IEEE 754-Standard entspricht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!