que punto programacion online normalizada norma mantisa flotante exponente doble c++ compiler-construction floating-point ieee-754

c++ - programacion - punto flotante plc



Cómo comprobar si el compilador de C++ usa el estándar de coma flotante IEEE 754 (1)

En realidad, tienes una manera más fácil de lograr esto en C ++. Del estándar de C ++ 18.2.1.1 la clase numeric_limits existe dentro de std . Para acceder a dicho miembro estático, simplemente haz esto:

std::numeric_limits<double>::is_iec559;

O:

std::numeric_limits<float>::is_iec559;

Que debería volver true si IEEE 754 está en uso, de lo contrario es falso.

Como método alternativo, la segunda parte de la respuesta de Adam debería hacerlo también para C ++.

Me gustaría hacer una pregunta que sigue a esta, que está bastante bien respondida por la comprobación de definir si el compilador usa el estándar. Sin embargo, esto solo funciona para C. ¿Hay alguna manera de hacer lo mismo en C ++?

No deseo encubrir los tipos de puntos flotantes para enviar mensajes de texto o usar algunas funciones de conversión bastante complejas. Solo necesito el control del compilador. Si conoce una lista de dichos compiladores compatibles, publique el enlace. No pude encontrarlo.