std::numeric_limits::signaling_NaN
De cppreference.com
< cpp | types | numeric limits
![]() | Esta página se ha traducido por ordenador/computador/computadora de la versión en inglés de la Wiki usando Google Translate. La traducción puede contener errores y palabras aparatosas/incorrectas. Planea sobre el texto para ver la versión original. Puedes ayudar a corregir los errores y mejorar la traducción. Para instrucciones haz clic aquí. |
static T signaling_NaN() | (hasta C++11) | |
staticconstexpr T signaling_NaN() | (desde C++11) | |
Devuelve el valor especial "señalización no un número", como se representa por la
T
tipo de punto flotante. Sólo tiene sentido si std::numeric_limits<T>::has_signaling_NaN==true. En IEEE 754, la representación binaria más común de números de punto flotante, cualquier valor con todos los bits del conjunto de exponente y al menos un bit de la serie fracción representa un NaN. Se definido por la implantación que los valores de la fracción representan NaNs tranquilas o de señalización, y si el bit de signo es significativo .Original:
Returns the special value "signaling no un número", as represented by the floating-point type
T
. Only meaningful if std::numeric_limits<T>::has_signaling_NaN==true. In IEEE 754, the most common binary representation of floating-point numbers, any value with all bits of the exponent set and at least one bit of the fraction set represents a NaN. It is implementation-defined which values of the fraction represent quiet or signaling NaNs, and whether the sign bit is meaningful.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Contenido |
[editar]Valor de retorno
T | std::numeric_limits<T>::quiet_NaN() |
/* non-specialized */ | T(); |
bool | false |
char | 0 |
signedchar | 0 |
unsignedchar | 0 |
wchar_t | 0 |
char16_t | 0 |
char32_t | 0 |
short | 0 |
unsignedshort | 0 |
int | 0 |
unsignedint | 0 |
long | 0 |
unsignedlong | 0 |
longlong | 0 |
unsignedlonglong | 0 |
float | definido por la implantación Original: implementation-defined The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
double | definido por la implantación Original: implementation-defined The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
longdouble | definido por la implantación Original: implementation-defined The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
[editar]Excepciones
[editar]Notas
A NaN nunca compara igual a sí mismo. Copia de un NaN no puede preservar su representación poco .
Original:
A NaN never compares equal to itself. Copying a NaN may not preserve its bit representation.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Cuando un NaN de señalización se utiliza como argumento de una expresión aritmética, la correspondiente excepción de punto flotante puede ser elevada y la NaN se "calmó", es decir, la expresión devuelve un tranquilo NaN .
Original:
When a signaling NaN is used as an argument to an arithmetic expression, the appropriate floating-point exception may be raised and the NaN is "quieted", that is, the expression returns a quiet NaN.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[editar]Ejemplo
Muestra el uso de un NaN de señalización para levantar una excepción de punto flotante
Original:
Demonstrates the use of a signaling NaN to raise a floating-point exception
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Ejecuta este código
#include <iostream>#include <limits>#include <cfenv>#pragma STDC_FENV_ACCESS onvoid show_fe_exceptions(){int n =std::fetestexcept(FE_ALL_EXCEPT);if(n &FE_INVALID)std::cout<<"FE_INVALID is raised\n";elseif(n ==0)std::cout<<"no exceptions are raised\n";std::feclearexcept(FE_ALL_EXCEPT);}int main(){double snan =std::numeric_limits<double>::signaling_NaN();std::cout<<"After sNaN was obtained "; show_fe_exceptions();double qnan = snan *2.0;std::cout<<"After sNaN was multiplied by 2 "; show_fe_exceptions();double qnan2 = qnan *2.0;std::cout<<"After the quieted NaN was multiplied by 2 "; show_fe_exceptions();std::cout<<"The result is "<< qnan2 <<'\n';}
Salida:
After sNaN was obtained no exceptions are raised After sNaN was multiplied by 2 FE_INVALID is raised After the quieted NaN was multiplied by 2 no exceptions are raised The result is nan
[editar]Ver también
[estático] | identifica tipos de punto flotante que puede representar el valor especial "señalización no un número" (NaN) Original: identifies floating-point types that can represent the special value "signaling not-a-number" (NaN) The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (constante miembro pública estática) |
[estático] | devuelve un valor NaN tranquilo de lo dado tipo de punto flotante Original: returns a quiet NaN value of the given floating-point type The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (función miembro estática pública) |