Wie um zu überprüfen, ob C++ - compiler verwendet IEEE 754 floating point standard

Ich würde gerne eine Frage zu stellen, folgt diese eine das ist ziemlich gut beantwortet, durch das definieren, prüfen Sie, ob der compiler benutzt den standard. Doch diese woks für C nur. Gibt es eine Möglichkeit, das gleiche zu tun in C++?

Ich möchte nicht verdeckte floating-point-Typen-text, oder verwenden Sie einige ziemlich komplexe Konvertierungsfunktionen. Muss ich nur die compiler-check. Wenn Sie wissen, eine Liste der kompatiblen Compilern bitte den link posten. Ich konnte Sie nicht finden.

  • zur Laufzeit können Sie std::numeric_limits<double>::is_iec559() um zu überprüfen, ob eine bestimmte Gleitkomma-Typ ist, dargestellt nach IEEE 754. Natürlich sagt das wenig darüber, ob der compiler die floating-point-handling 754 konform, aber es sollte Ihnen einen guten Hinweis.
  • Ich denke, es ist weniger eine Frage des Compilers unterstützen es und eher eine Frage der CPU-FPU-Unterstützung... aber ich bin nicht 100% überzeugt von diesem, so mache ich ein Kommentar und keine Antwort.
  • Bei der Laufzeit? Sind Sie sicher? en.cppreference.com/w/cpp/types/numeric_limits/is_iec559
InformationsquelleAutor Rusty Horse | 2011-04-25
Schreibe einen Kommentar