浮点计算学习笔记

tech2022-11-04  119

最近工作一直围绕浮点计算,所以在此记录自己的学习过程。 学习教材《浮点计算-编程原理、实现与应用》 刘纯根 著

  问:double的精度是多少?(同事做模型设计的时候希望知道什么时候计算认为此小数为0)

1984年,IEEE推出了《IEEE二进制浮点运算标准754》 链接--http://www.dsc.ufcg.edu.br/~cnum/modulos/Modulo2/IEEE754_2008.pdf 1987年,IEEE推出了《IEEE通用数制的浮点运算标准》 --IEEE854标准 https://standards.ieee.org/standard/854-1987.html ---要收费?

1.科学计数法 抽象描述为:

它有两个部分组成,一个只有1位整数的实数和相应的放大因子,即尾数和指数:

尾数:

指数:n

科学计数法的实质是将实数分解为尾数和指数

 

2.浮点数

浮点数的编码方式,尾数部分实际上是一个只有1位整数的定点数,而且约定小数点位于第一个非0数字之后,所以得到上面的转换。所谓唯一的整数位只能恒是1,这意味着这个整数位可以不表示出来,因此在有些浮点格式中称整数位为隐含位。

隐含位的引入的优点就是小数部分可以多使用一位,缺点就是在运算之前必须补齐这个隐含位。

 

表1 IEEE常见浮点格式说明

格式长度符号指数尾数有效位数指数偏移说明单精度格式32位182324127一个隐含位双精度格式64位11152531023一个隐含位扩展双精度格式80位115646416383没有隐含位

二进制和十进制有效位数转换关系有:

 

所以,单精度的格式有0.301*24=7.2,7个有效数字

双精度格式有0.301*53=15.9,15个有效数字

 

 

 

 

 

最新回复(0)