FE_DIVBYZERO, FE_INEXACT, FE_INVALID, FE_OVERFLOW, FE_UNDERFLOW, FE_ALL_EXCEPT
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. |
Déclaré dans l'en-tête <cfenv> | ||
#define FE_DIVBYZERO /*implementation defined power of 2*/ | (depuis C++11) | |
#define FE_INEXACT /*implementation defined power of 2*/ | (depuis C++11) | |
#define FE_INVALID /*implementation defined power of 2*/ | (depuis C++11) | |
#define FE_OVERFLOW /*implementation defined power of 2*/ | (depuis C++11) | |
#define FE_UNDERFLOW /*implementation defined power of 2*/ | (depuis C++11) | |
#define FE_ALL_EXCEPT FE_DIVBYZERO | FE_INEXACT | \ FE_INVALID | FE_OVERFLOW | \ | (depuis C++11) | |
Toutes ces constantes macro (sauf FE_ALL_EXCEPT) à étendre entiers des expressions constantes qui sont des puissances de 2 distinctes, qui identifient de façon unique tous soutenus exceptions de virgule flottante. Chaque macro n'est définie que si elle est soutenue .
Original:
All these macro constants (except FE_ALL_EXCEPT) expand to integer constant expressions that are distinct powers of 2, which uniquely identify all supported floating-point exceptions. Each macro is only defined if it is supported.
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.
Le FE_ALL_EXCEPT macro constante, qui se développe pour un OU binaire de tous les
FE_*
autre, est toujours définie et est nul si exceptions de virgule flottante ne sont pas pris en charge par la mise en œuvre .Original:
The macro constant FE_ALL_EXCEPT, which expands to the bitwise OR of all other
FE_*
, is always defined and is zero if floating-point exceptions are not supported by the implementation.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.
Constante Original: Constant The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. | Explanation |
FE_DIVBYZERO | division par zéro s'est produite lors de l'opération précédente à virgule flottante Original: division by zero occurred during the earlier floating-point operation The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
FE_INEXACT | inexactes résultat: l'arrondissement était nécessaire pour stocker le résultat de l'opération précédente à virgule flottante Original: inexact result: rounding was necessary to store the result of the earlier floating-point operation The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
FE_INVALID | opération non valide: l'opération plus tôt à virgule flottante ne pouvait pas effectuée Original: invalid operation: the earlier floating-point operation could not performed The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
FE_OVERFLOW | le résultat de la première opération à virgule flottante était trop grand pour être représentable Original: the result of the earlier floating-point operation was too large to be representable The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
FE_UNDERFLOW | le résultat de l'opération précédente à virgule flottante était inférieure à la normale Original: the result of the earlier floating-point operation was subnormal The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
FE_ALL_EXCEPT | OU binaire entre toutes prises en charge exceptions de virgule flottante Original: bitwise OR of all supported floating-point exceptions The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
La mise en œuvre peut définir des constantes macro supplémentaires
<cfenv>
pour identifier d'autres exceptions de virgule flottante. Tous ces constantes commencent par FE_
suivie d'au moins une lettre majuscule .Original:
The implementation may define additional macro constants in
<cfenv>
to identify additional floating-point exceptions. All such constants begin with FE_
followed by at least one uppercase letter.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.
[modifier]Exemple
#include <iostream>#include <cfenv>#include <cmath> #pragma STDC FENV_ACCESS ON volatiledouble zero =0.0;// volatile not needed where FENV_ACCESS is supportedvolatiledouble one =1.0;// volatile not needed where FENV_ACCESS is supported int main(){std::feclearexcept(FE_ALL_EXCEPT);std::cout<<"1.0/0.0 = "<<1.0/ zero <<'\n';if(std::fetestexcept(FE_DIVBYZERO)){std::cout<<"division by zero reported\n";}else{std::cout<<"divsion by zero not reported\n";} std::feclearexcept(FE_ALL_EXCEPT);std::cout<<"1.0/10 = "<< one/10<<'\n';if(std::fetestexcept(FE_INEXACT)){std::cout<<"inexact result reported\n";}else{std::cout<<"inexact result not reported\n";} std::feclearexcept(FE_ALL_EXCEPT);std::cout<<"sqrt(-1) = "<<std::sqrt(-1)<<'\n';if(std::fetestexcept(FE_INVALID)){std::cout<<"invalid result reported\n";}else{std::cout<<"invalid result not reported\n";}}
Résultat :
1.0/0.0 = inf division by zero reported 1.0/10 = 0.1 inexact result reported sqrt(-1) = -nan invalid result reported
[modifier]Voir aussi
(C++11) (C++11) (C++11) | définit le mécanisme de gestion des erreurs utilisée par les fonctions mathématiques courantes Original: defines the error handling mechanism used by the common mathematical functions The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (constante macro) |