7.2 浮点类型

 

一、C语言提供了几种浮点类型分别是什么?

二、C标准的浮点型类型精度是多少?

三、IEEE标准提供哪两种浮点数格式?

数值以什么形式存储?

每一个数有几部分组成?

指数部分的位数说明了什么?小数部分的位数又是什么?

单精度格式中,指数长几位,小数占几位?

四、IEEE标准另外两种格式是什么?这些格式的位数是多少?

五、C99中浮点类型分为几种分别是什么?

整数类型不适用于所有应用。有时需要变量存储带小数点的数,或者能存储极大或极小数。这类数可以用浮点(因小数点是"浮动的"而得名)格式进行存储。C语言提供3种浮点类型,

float:单精度浮点数。  double 双精度浮点数。 long double 扩展精度浮点数。

C标准没有说明float、double和long double类型提供的精度到底是多少,因为不同的计算机可以用不同方法存储浮点数。大多数计算机都准许IEEE754标准(即IEC 60559)的规范,

IEEE浮点标准

由IEEE开发的IEEE标准提供了两种主要的浮点数格式: 单精度32位和双精度64位。数值以科学计数法的形式存储,每一个数都由三部分组成: 符号、指数和小数。 指数部分的位数说明了数值的可能大小程度,而小数部分的位数说明了精度。单精度格式中,指数长度为8位,而小数部分占了23位。因此,单精度可以表示的最大值大约是3.4*1038,其中精度是6个十进制数字。

IEEE标准还描述了,另外两种格式:单扩展精度和双扩展精度。标准没有指明这些格式中的位数,但要求单扩展精度类型至少为43位,而双扩展精度类型至少为79位。更多信息百度。

 

 表7-4浮点类型的特征(IEEE标准)

7.2 浮点类型

表7-4给出了根据IEEE标准实现时浮点类型的特征。(表中给出了规范化的最小正值,非规范化的数可以更小。)long double类型没有显示在此表中,因为它的长度随着机器的不同而变化,而最常见的大小是80位和128位。

在不遵守IEEE标准的计算机上表7-4是无效的。在一些机器上float可以有和double相同的数值集合,double和long double有相同数值集合。可以在头<float.h>中找到定义浮点类型特征的宏。

C99中浮点类型分为两种:一种是实浮点类型包括 float、double、long double类型

另一种是C99新增的复数类型(包括float_Complex、double_Complex和long double_Complex)。

 
上一篇:无线网络技术实验(十八)IEEE802.15.4和ZBR协议仿真


下一篇:最新最全论文合集——IEEE VIS 历年最佳论文汇总