std::numeric_limits::signaling_NaN
Da cppreference.com.
< cpp | types | numeric limits
![]() | Questa pagina è stata tradotta in modo automatico dalla versione in ineglese della wiki usando Google Translate. La traduzione potrebbe contenere errori e termini strani. Muovi il puntatore sopra al testo per vedere la versione originale. Puoi aiutarci a correggere gli gli errori. Per ulteriori istruzioni clicca qui. |
static T signaling_NaN() | (fino al c++11) | |
staticconstexpr T signaling_NaN() | (dal C++11) | |
Restituisce la speciale "segnalazione not-a-numero" valore, come rappresentato dalla virgola mobile
T
tipo. Ha senso solo se std::numeric_limits<T>::has_signaling_NaN==true. In IEEE 754, la rappresentazione binaria più comune di numeri in virgola mobile, qualsiasi valore con tutti i bit del set esponente e almeno un bit del set frazione rappresenta un NaN. Esso è definito dall'implementazione quali valori della frazione rappresentano NaN tranquillo o segnalazione, e se il bit di segno è significativo.Original:
Returns the special value "signaling not-a-numero", 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.
Indice |
[modifica]Valore di ritorno
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 | implementazione definita 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 | implementazione definita 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 | implementazione definita 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. |
[modifica]Eccezioni
[modifica]Note
Un NaN mai uguale a se stesso confronto. Copia di un NaN non può conservare la sua rappresentazione po.
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.
Quando un NaN di segnalazione viene utilizzato come argomento per un'espressione aritmetica, l'appropriato virgola mobile eccezione può essere sollevata e il NaN è "calmato", cioè, l'espressione restituisce un tranquillo 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.
[modifica]Esempio
Dimostra l'uso di una segnalazione NaN sollevare una virgola mobile eccezione
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.
#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';}
Output:
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
[modifica]Vedi anche
[statico] | identifica i tipi a virgola mobile che possono rappresentare il valore speciale "segnalazione non-a-number" (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. (pubblico membro statico costante) |
[statico] | restituisce un valore NaN tranquilla di un dato tipo a virgola mobile 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. (metodo pubblico statico) |