System.Math.TArithmeticException

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

TArithmeticException = (exInvalidOp, exDenormalized, exZeroDivide,
exOverflow, exUnderflow, exPrecision);

C++

enum DECLSPEC_DENUM TArithmeticException : unsigned char { exInvalidOp, exDenormalized, exZeroDivide, exOverflow, exUnderflow, exPrecision };

Propriétés

Type Visibilité  Source Unité  Parent
enum public
System.Math.pas
System.Math.hpp
System.Math System.Math


Description

Enumération qui contient ces valeurs représentant les exceptions de virgule flottante.

La FPU (Floating Point Unit) gère les calculs en virgule flottante sur les systèmes 32 bits tandis que le SSE (Streaming SIMD Extensions) gère les calculs en virgule flottante sur les systèmes 64 bits. Vous pouvez empêcher les exceptions de se produire en utilisant SetExceptionMask pour masquer certaines d'entre elles ou toutes les exceptions sur la FPU et le SSE.

Quand une exception est masquée, la FPU ou le SSE font de leur mieux pour renvoyer une valeur – souvent NaN, Infinity ou NegInfinity. La valeur dépend de l'opération et du mode d'arrondi choisi (voir GetRoundMode et SetRoundMode).

Les valeurs définies sont indiquées dans le tableau suivant :

Valeur Signification

exInvalidOp

Une opération incorrecte a été tentée.

exDenormalized

Un nombre a été réduit en taille à une valeur inférieure à la taille stockable en non-zéro. Il a été dénormalisé.

exZeroDivide

Une tentative de division par zéro a été effectuée.

exOverflow

Un nombre a dépassé la plus grande valeur positive supportée.

exUnderflow

Un nombre a dépassé la plus grande valeur négative supportée.

exPrecision

Un nombre a dépassé le nombre de chiffres de la précision.

Voir aussi