std::numeric_limits::signaling_NaN
De cppreference.com
|
|
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
<metanoindex/>
<tbody> </tbody> static T signaling_NaN() |
(avant C++11) | |
static constexpr T signaling_NaN() |
(depuis C++11) | |
Retourne la valeur spéciale "signalisation pas-un-nombre», représentée par le
T type virgule flottante. N'a de sens que si std::numeric_limits<T>::has_signaling_NaN == true. Dans IEEE 754, la représentation binaire la plus courante de nombres à virgule flottante, avec une valeur de tous les bits de l'ensemble d'exposants et au moins un bit de l'ensemble de la fraction représente un NaN. Elle est mise en oeuvre définie par les valeurs de la fraction représente NaNs tranquilles ou de signalisation, et si le bit de signe est significative .Original:
Returns the special value "signaling pas-un-nombre", 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.
Retourne la valeur
T
|
std::numeric_limits<T>::quiet_NaN()
|
| /* non-specialized */ | T();
|
bool
|
false
|
char
|
0
|
signed char
|
0
|
unsigned char
|
0
|
wchar_t
|
0
|
char16_t
|
0
|
char32_t
|
0
|
short
|
0
|
unsigned short
|
0
|
int
|
0
|
unsigned int
|
0
|
long
|
0
|
unsigned long
|
0
|
long long
|
0
|
unsigned long long
|
0
|
float
|
défini par l'implémentation
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
|
défini par l'implémentation
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. |
long double
|
défini par l'implémentation
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. |
Exceptions
Notes
Un NaN jamais compare égal à lui-même. Copie d'un NaN ne peut préserver sa représentation binaire .
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.
Quand un NaN de signalisation est utilisée comme un argument pour une expression arithmétique, le cas échéant exception de virgule flottante peuvent être soulevées et le NaN est "apaisé", c'est l'expression renvoie un NaN calme .
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.
Exemple
Illustre l'utilisation d'un NaN de signalisation de lever une exception en virgule flottante
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 on
void show_fe_exceptions()
{
int n = std::fetestexcept(FE_ALL_EXCEPT);
if(n & FE_INVALID) std::cout << "FE_INVALID is raised\n";
else if(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';
}
Résultat :
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
Voir aussi
[ statique ]Original: static The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
identifie types à virgule flottante qui peuvent représenter la valeur spéciale "signalisation 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. (constante membre statique publique) |
[ statique ]Original: static The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
renvoie une valeur NaN calme de la donnée à virgule flottante de type 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. (fonction membre publique statique) |