float.h(c标准库)

 

 1 /*my_float.h*/
 2 /*
 3  * 系统保留浮点数一种类型,因此c语言对任何涉及浮点运算都产生double类型的结果,
 4  * 即时连个操做数都为float类型。
 5  *
 6  * 上溢、下溢、有效值丢失对浮点算术是固有的。
 7  * 变化,不一样机器相同的浮点运算结果可能不一样。依赖于两个机器的舍入方式。通常机器
 8  * 使用快餐式浮点算术计算方法。
 9  * float.h主要是补充limit.h
10  * float.h的宏,通常最复杂的数值程序才需关心。
11  */
12 #ifndef _MY_FLOAT_H_
13 #define _MY_FLOAT_H_
14 #ifndef _YVALS_H_
15 #include "yvals.h"
16 #endif
17 
18 typedef struct {
19     int my_ddig, my_dmdig, my_dmax10e, my_dmaxe, my_dmin10e, my_dmine;
20     union {
21         unsigned short us[5];
22         float f;
23         double d;
24         long double ld;
25     }my_deps, my_dmax, my_dmin;
26 }My_dvals;
27 /*
28  * float.h经过联合来检查浮点。无论何种状况最大浮点数的最高位有效数字的值应该等于0X7FEF,其余等于0XFFFF。
29  * 例如,x86格式double应该为 0XFFFF 0XFFFF 0XFFFF 0X7FEF
30  * 浮点数存储方式不明白,看其余资料IEEE 754标准
31  */
相关文章
相关标签/搜索