Floating-point environment
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. |
L'environnement en virgule flottante est l'ensemble des indicateurs d'état à virgule flottante et des modes de contrôle pris en charge par l'application. Il est thread-local, chaque fil hérite de l'état initial de l'environnement à virgule flottante à partir du fil parent. Opérations en virgule flottante modifier les indicateurs d'état à virgule flottante pour indiquer les résultats anormaux ou de l'information auxiliaire. L'état des modes de contrôle à virgule flottante affecte les résultats de certaines opérations en virgule flottante .
Original:
The floating-point environment is the set of floating-point status flags and control modes supported by the implementation. It is thread-local, each thread inherits the initial state of its floating-point environment from the parent thread. Floating-point operations modify the floating-point status flags to indicate abnormal results or auxiliary information. The state of floating-point control modes affects the outcomes of some floating-point operations.
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.
L'accès à l'environnement en virgule flottante et la modification n'a de sens que lorsque #pragma STDC FENV_ACCESS est réglé sur
ON
. Sinon, la mise en œuvre est libre de penser que les modes de contrôle à virgule flottante sont toujours ceux par défaut et que les indicateurs d'état à virgule flottante ne sont jamais testés ou modifiés. Dans la pratique, rares sont les compilateurs actuels prennent en charge la #pragma
explicitement, mais la plupart des compilateurs autorisent un accès significatif à l'environnement en virgule flottante de toute façon .Original:
The floating-point environment access and modification is only meaningful when #pragma STDC FENV_ACCESS is set to
ON
. Otherwise the implementation is free to assume that floating-point control modes are always the default ones and that floating-point status flags are never tested or modified. In practice, few current compilers support the #pragma
explicitly, but most compilers allow meaningful access to the floating-point environment anyway.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.
Sommaire |
[modifier]Types
Defined in header <cfenv> | |
fenv_t | Le type qui représente l'ensemble de la virgule flottante environnement Original: The type representing the entire floating-point environment The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
fexcept_t | Le type représentant tous les indicateurs d'état à virgule flottante collectivement Original: The type representing all floating-point status flags collectively The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
[modifier]Fonctions
(C++11) | efface les indicateurs d'état spécifiées à virgule flottante Original: clears the specified floating-point status flags The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (fonction) |
(C++11) | détermine quels sont les indicateurs spécifiés état à virgule flottante sont définies Original: determines which of the specified floating-point status flags are set The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (fonction) |
(C++11) | soulève les spécifiées exceptions de virgule flottante Original: raises the specified 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. (fonction) |
(C++11) (C++11) | copie de l'état des drapeaux spécifiés état à virgule flottante en provenance ou à l'environnement en virgule flottante Original: copies the state of the specified floating-point status flags from or to the floating-point environment The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (fonction) |
(C++11) (C++11) | obtient ou définit direction d'arrondi Original: gets or sets rounding direction The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (fonction) |
(C++11) | sauvegarde ou restaure l'environnement actuel point flottant Original: saves or restores the current floating point environment The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (fonction) |
(C++11) | sauvegarde de l'environnement, efface tous les indicateurs d'état et ignore toutes les erreurs futures Original: saves the environment, clears all status flags and ignores all future errors The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (fonction) |
(C++11) | restaure l'environnement en virgule flottante et soulève le lever des exceptions précédemment Original: restores the floating-point environment and raises the previously raise exceptions The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (fonction) |
[modifier]Macros
exceptions de virgule flottante Original: 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. (constante macro) | |
direction d'arrondi en virgule flottante Original: floating-point rounding direction The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (constante macro) | |
(C++11) | défaut en virgule flottante environnement Original: default floating-point environment The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (constante macro) |
[modifier]Notes
Les exceptions en virgule flottante ne sont pas liés aux exceptions C + +. Quand une opération en virgule flottante soulève une exception de virgule flottante, l'état de l'environnement change flottants, qui peuvent être testés avec std::fetestexcept, mais l'exécution d'un programme C + + sur la plupart des implémentations se poursuit sans interruption .
Original:
The floating-point exceptions are not related to the C++ exceptions. When a floating-point operation raises a floating-point exception, the status of the floating-point environment changes, which can be tested with std::fetestexcept, but the execution of a C++ program on most implementations continues uninterrupted.
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.
Il existe des extensions du compilateur qui peuvent être utilisés pour générer des exceptions C + + automatiquement chaque fois qu'une exception en virgule flottante est soulevée:
Original:
There are compiler extensions that may be used to generate C++ exceptions automatically whenever a floating-point exception is raised:
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.
feenableexcept()
GNU libc fonction permet le piégeage des exceptions à virgule flottante, ce qui génère le signal deSIGFPE
. Si l'option du compilateur-fnon-call-exceptions
a été utilisé, le gestionnaire de ce signal peut jeter défini par l'utilisateur exception C + + .Original:GNU libc functionfeenableexcept()
enables trapping of the floating-point exceptions, which generates the signalSIGFPE
. If the compiler option-fnon-call-exceptions
was used, the handler for that signal may throw a user-defined C++ exception.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions._control87()
Microsoft WinAPI fonction permet le piégeage des exceptions à virgule flottante, ce qui génère une exception matériel, qui peut être converti en C + + avec les exceptions_set_se_translator
.Original:Microsoft WinAPI function_control87()
enables trapping of the floating-point exceptions, which generates a hardware exception, which can be converted to C++ exceptions with_set_se_translator
.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.