主页C++ Builder 资料C++ Builder 参考手册System.Math.hpp 数学函数TArithmeticException
C++ Builder 串口控件
C++ Builder 编程技巧
C++ Builder 操作指南
C++ Builder 参考手册
基础知识
cfloat 浮点数
cmath 数学函数
cstdlib 标准库函数
System 字符串
System 日期和时间
System.Math.hpp 数学函数
 • RoundTo
 • SetExceptionMask
 • TArithmeticException
 • TArithmeticExceptionMask
 • DefaultExceptionFlags
 • exAllArithmeticExceptions
其他数据类型
VCL 基础类
VCL 应用程序
Pictures 图片
Graphics 绘图
Additional 控件
System 控件
A ~ Z 字母顺序排列的目录
网友留言/技术支持
TArithmeticException - 浮点数异常控制的异常类型

TArithmeticException:浮点数异常控制的异常类型

请参考:SetExceptionMask 函数。

 

头文件:

#include <System.Math.hpp> (XE2 之后),#include <Math.hpp> (XE 之前)

 

命名空间:

System::Math

 

TArithmeticException 成员

TArithmeticException 是枚举类型,定义如下:

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

可以使用的值如下:

鼠标按钮 说明
exInvalidOp 不合理的运算 (invalid),例如 0.0 除以 0.0 就是不合理的运算,无法计算出结果。
控制字这一位等于 0:抛出异常 EInvalidOp;等于 1:计算结果为 ± NAN
exDenormalized 次正常 (denormal):有效数字向下溢出一部分,可以使用精度不足的浮点数来表示运算结果【
控制字这一位等于 0:抛出异常 EInvalidOp;等于 1:计算结果用 “次正常” 的浮点数表示
exZeroDivide 被零除 (zero divide),不等于零的数值除以零。
控制字这一位等于 0:抛出异常 EZeroDivide;等于 1:计算结果为 ± INF
exOverflow 向上溢出 (overflow),绝对值太大,超过了浮点数能够表达的范围【
控制字这一位等于 0:抛出异常 EOverflow;等于 1:计算结果等于 ± HUGE_VAL
exUnderflow 向下溢出 (underflow),绝对值太小,超过了浮点数能够表达的范围【
控制字这一位等于 0:抛出异常 EUnderflow;等于 1:计算结果等于 ± 0
exPrecision 降低精度 (inexact (precision)),例如把 double 赋值给 float,降低了精度【
控制字这一位等于 0:抛出异常 EInvalidOp;等于 1:结果为降低精度的值
◤上一页:SetExceptionMask下一页:TArithmeticExceptionMask

C++ 爱好者 -- Victor Chen 的个人网站 www.cppfans.com 辽ICP备11016859号