System.Math.TArithmeticException

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

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

C++

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

プロパティ

種類 可視性 ソース ユニット
enum public
System.Math.pas
System.Math.hpp
System.Math System.Math


説明

浮動小数点例外を表す値を列挙したものです。

FPU(浮動小数点演算ユニット)では 32 ビット システム上で浮動小数点演算を処理し、SSE(ストリーミング SIMD 拡張命令)では 64 ビット システム上で浮動小数点演算を処理します。FPU でも SSE でも、SetExceptionMask を使用して一部またはすべての例外をマスクすることで、それらの例外が発生しないようにすることができます。

例外がマスクされると、FPU または SSE は値を求める試みの最良の結果として、多くの場合、NaNInfinityNegInfinity のいずれかを返します。返される値は、演算と現在の丸めモードによって決まります(GetRoundMode および SetRoundMode のリファレンスを参照)。

定義されている値の一覧を次の表に示します。

意味

exInvalidOp

無効な演算を行おうとしました。

exDenormalized

非ゼロとして格納できるサイズより小さいサイズに数値が切り詰められました。数値が非正規化されました。

exZeroDivide

ゼロで除算しようとしました。

exOverflow

数値が、サポートされている正の上限値を超えました。

exUnderflow

数値が、サポートされている負の下限値を下回りました。

exPrecision

数値が精度の桁数を超えました。

関連項目