📄 float.h
字号:
@函数名称: _fpreset
函数原型: void _fpreset(viod)
函数功能: 重新设置浮点运算系统
函数返回:
参数说明:
所属文件: <float.h>
#include <stdio.h>
#include <float.h>
char *status[2]={"No"," "};
int main()
{
unsigned int fp_status;
fp_status=_status87();
printf("80x87 status\n");
printf("%s invalid operation\n",status[(fp_status & SW_INVALID)==0]);
printf("%s denormalized operand\n",status[(fp_status & SW_DENORMAL)==0]);
printf("%s divide by zero\n",status[(fp_status & SW_ZERODIVIDE)==0]);
printf("%s overflow\n",status[(fp_status & SW_OVERFLOW)==0]);
printf("%s underflow\n",status[(fp_status & SW_UNDERFLOW)==0]);
printf("%s inexact result\n",status[(fp_status & SW_INEXACT)==0]);
_fpreset();
return 0;
}
@函数名称: _status87
函数原型: unsigned int _status87(void)
函数功能: 得到浮点处理器的状态字值
函数返回: 浮点状态字,含义和取值如下:
SW_INVALID 0x0001 SW_DENORMAL 0x0002
SW_ZERODIVIDE 0x0004 SW_OVERFLOW 0x0008
SW_UNDERFLOW 0x0010 SW_INEXACT 0x0020
参数说明:
所属文件: <float.h>
#include <stdio.h>
#include <float.h>
#define T_FPU(x,y) printf("\t%s" y "\n",((fp_status & x) ? " " : "No"))
int main()
{
unsigned int fp_status;
fp_status=_status87();
printf("80x87 status\n");
T_FPU(SW_INVALID, "invalid operation");
T_FPU(SW_DENORMAL, "denormalized operand");
T_FPU(SW_ZERODIVIDE, "divide by zero");
T_FPU(SW_OVERFLOW, "overflow");
T_FPU(SW_UNDERFLOW, "underflow");
T_FPU(SW_INEXACT, "inexact result");
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -