Namespaces
Variants

std::numeric_limits<T>:: has_denorm_loss

From cppreference.net
Utilities library
static const bool has_denorm_loss ;
(hasta C++11)
static constexpr bool has_denorm_loss ;
(desde C++11)
(obsoleto en C++23)

El valor de std:: numeric_limits < T > :: has_denorm_loss es true para todos los tipos de punto flotante T que detectan pérdida de precisión al crear un número subnormal como pérdida por desnormalización en lugar de como resultado inexacto (ver más abajo).

Contenidos

Especializaciones estándar

T valor de std:: numeric_limits < T > :: has_denorm_loss
/* non-specialized */ false
bool false
char false
signed char false
unsigned char false
wchar_t false
char8_t (desde C++20) false
char16_t (desde C++11) false
char32_t (desde C++11) false
short false
unsigned short false
int false
unsigned int false
long false
unsigned long false
long long (desde C++11) false
unsigned long long (desde C++11) false
float definido por la implementación
double definido por la implementación
long double definido por la implementación

Notas

Las implementaciones compatibles con el estándar IEEE 754 de números en punto flotante subnormales deben detectar la pérdida de precisión asociada con la creación de dichos números, si ocurre, y pueden hacerlo de una de las dos formas distintas:

  1. Pérdida por desnormalización: el resultado entregado difiere de lo que se habría calculado si el rango del exponente fuera ilimitado.
  2. Resultado inexacto: el resultado entregado difiere de lo que se habría calculado si tanto el rango del exponente como la precisión fueran ilimitados.

No existe ninguna implementación del mecanismo de pérdida por desnormalización (la pérdida de precisión se detecta después del redondeo, como resultado inexacto), y esta opción fue eliminada en la revisión de 2008 del IEEE Std 754.

libstdc++, libc++, libCstd y stlport4 definen esta constante como false para todos los tipos de punto flotante. Microsoft Visual Studio la define como true para todos los tipos de punto flotante.

Como con cualquier cálculo de punto flotante, la pérdida de precisión puede generar FE_INEXACT .

Ejemplo

Véase también

identifica los tipos de punto flotante que detectan tinyness antes del redondeo
(constante de miembro estática pública)
[static]
identifica el estilo de desnormalización utilizado por el tipo de punto flotante
(constante de miembro estática pública)