float.h,该如何处理

float.h
float.h中的它们都代表什么意思啊,特别是大写字母的解释
#define _MCW_EM 0x0008001F /* Error masks */
#define _MCW_IC 0x00040000 /* Infinity */
#define _MCW_RC 0x00000300 /* Rounding */
#define _MCW_PC 0x00030000 /* Precision */

#define _EM_INVALID 0x00000010
#define _EM_DENORMAL 0x00080000
#define _EM_ZERODIVIDE 0x00000008
#define _EM_OVERFLOW 0x00000004
#define _EM_UNDERFLOW 0x00000002
#define _EM_INEXACT 0x00000001
#define _IC_AFFINE 0x00040000
#define _IC_PROJECTIVE 0x00000000
#define _RC_CHOP 0x00000300
#define _RC_UP 0x00000200
#define _RC_DOWN 0x00000100
#define _RC_NEAR 0x00000000
#define _PC_24 0x00020000
#define _PC_53 0x00010000
#define _PC_64 0x00000000

#define _FPCLASS_SNAN 0x0001 /* Signaling "Not a Number" */
#define _FPCLASS_QNAN 0x0002 /* Quiet "Not a Number" */
#define _FPCLASS_NINF 0x0004 /* Negative Infinity */
#define _FPCLASS_NN 0x0008 /* Negative Normal */
#define _FPCLASS_ND 0x0010 /* Negative Denormal */
#define _FPCLASS_NZ 0x0020 /* Negative Zero */
#define _FPCLASS_PZ 0x0040 /* Positive Zero */
#define _FPCLASS_PD 0x0080 /* Positive Denormal */
#define _FPCLASS_PN 0x0100 /* Positive Normal */
#define _FPCLASS_PINF 0x0200 /* Positive Infinity */

#define _SW_UNEMULATED 0x0040 /* unemulated instruction */
#define _SW_SQRTNEG 0x0080 /* square root of a neg number */
#define _SW_* 0x0200 /* FP stack overflow */
#define _SW_STACKUNDERFLOW 0x0400 /* FP stack underflow */
#define _FPE_INVALID 0x81
#define _FPE_DENORMAL 0x82
#define _FPE_ZERODIVIDE 0x83
#define _FPE_OVERFLOW 0x84
#define _FPE_UNDERFLOW 0x85
#define _FPE_INEXACT 0x86
#define _FPE_UNEMULATED 0x87
#define _FPE_SQRTNEG 0x88
#define _FPE_* 0x8a
#define _FPE_STACKUNDERFLOW 0x8b
#define _FPE_EXPLICITGEN 0x8c /* raise( SIGFPE ); */

------解决方案--------------------
楼上好多跑题的……
这里的宏根本不是标准 C 定义的宏,是特定平台的扩展……
C/C++ code
#define _MCW_EM 0x0008001F /* Error masks */
#define _MCW_IC 0x00040000 /* Infinity */
#define _MCW_RC 0x00000300 /* Rounding */
#define _MCW_PC 0x00030000 /* Precision */

//异常掩码(Exception Masks)
#define _EM_INVALID 0x00000010    //非法操作异常
#define _EM_DENORMAL 0x00080000   //弱规范数异常
#define _EM_ZERODIVIDE 0x00000008 //被零除异常
#define _EM_OVERFLOW 0x00000004   //上溢出异常
#define _EM_UNDERFLOW 0x00000002  //下溢出异常
#define _EM_INEXACT 0x00000001    //不精确异常

//这两个还没搞清楚
#define _IC_AFFINE 0x00040000
#define _IC_PROJECTIVE 0x00000000

//舍入控制
#define _RC_CHOP 0x00000300   //截断舍入
#define _RC_UP 0x00000200     //向上舍入
#define _RC_DOWN 0x00000100   //向下舍入
#define _RC_NEAR 0x00000000   //最近舍入

//精度控制
#define _PC_24 0x00020000    //24 位精度(IEEE 单精度浮点)
#define _PC_53 0x00010000    //53 位精度(IEEE 双精度浮点)
#define _PC_64 0x00000000    //64 位精度(IEEE 扩展双精度浮点)

//类型区分
#define _FPCLASS_SNAN 0x0001 /* Signaling "Not a Number" */  //SNAN
#define _FPCLASS_QNAN 0x0002 /* Quiet "Not a Number" */      //QNAN
#define _FPCLASS_NINF 0x0004 /* Negative Infinity */         //负无穷
#define _FPCLASS_NN 0x0008 /* Negative Normal */             //普通负数
#define _FPCLASS_ND 0x0010 /* Negative Denormal */           //负弱规范数
#define _FPCLASS_NZ 0x0020 /* Negative Zero */               //负零
#define _FPCLASS_PZ 0x0040 /* Positive Zero */               //正零
#define _FPCLASS_PD 0x0080 /* Positive Denormal */           //正弱规范数
#define _FPCLASS_PN 0x0100 /* Positive Normal */             //普通正数
#define _FPCLASS_PINF 0x0200 /* Positive Infinity */

//下面四个不太清楚
#define _SW_UNEMULATED 0x0040 /* unemulated instruction */
#define _SW_SQRTNEG 0x0080 /* square root of a neg number */
#define _SW_* 0x0200 /* FP stack overflow */
#define _SW_STACKUNDERFLOW 0x0400 /* FP stack underflow */

//下面是一些浮点异常,不解释了
#define _FPE_INVALID 0x81
#define _FPE_DENORMAL 0x82
#define _FPE_ZERODIVIDE 0x83
#define _FPE_OVERFLOW 0x84
#define _FPE_UNDERFLOW 0x85
#define _FPE_INEXACT 0x86
#define _FPE_UNEMULATED 0x87
#define _FPE_SQRTNEG 0x88
#define _FPE_* 0x8a
#define _FPE_STACKUNDERFLOW 0x8b
#define _FPE_EXPLICITGEN 0x8c /* raise( SIGFPE ); */