第8章 浮点数据处理函数库:float.h 在程序中常常需要进行浮点运算,为此C语言提供了浮点数据处理函数库,在头文件float.h中定义。该函数库包括清除状态字函数、设置控制字函数、重置浮点运算系统函数等。 8.1 _clear87()——清除状态字函数 _clear87()函数
实用程度:★★★★☆
实例位置:配套资源\SL\08\01
_clear87()函数用于获取并清除状态字。
语法
unsigned int _clear87();
_clear87()函数没有参数。
_clear87()函数返回原来的浮点状态。
示例
本示例演示使用_clear87()函数清除浮点状态字中的异常标志。其具体代码如下:
运行结果如图8.1所示。
图8.1 使用_clear87()函数获取并清除状态字 8.2 _control87()——设置控制字函数 _control87()函数
实用程度:★★★★☆
实例位置:配套资源\SL\08\02
_control87()函数用于获取和设置浮点控制字。
语法
unsigned int _control87(unsigned int new, unsigned int mask);
_control87()函数的语法参数说明如下:
参数new为新的控制字位值。
参数mask为设置新控制字位的掩码。
_control87()函数返回浮点控制状态。
示例
本示例演示使用_control87()函数实现在不同控制字下计算两个双精度数的乘积。其具体代码如下:
运行结果如图8.2所示。
图8.2 使用_control87()函数获取和设置浮点控制字 8.3 _status87()——获取浮点处理器状态值函数 _status87()函数
实用程度:★★★★☆
实例位置:配套资源\SL\08\03
_status87()函数用于获取浮点状态值。
语法
unsigned int _status87(void);
_status87()函数没有参数。
_status87()函数返回浮点状态值。
示例
本示例演示使用_status87()函数获取出现错误前后的浮点状态值。其具体代码如下:
运行结果如图8.3所示。
图8.3 使用_status87()函数获取浮点处理器状态值