浮点数精度计算

浮点数精度计算

单精度浮点数精度为7,双精度浮点数的精度为16. 这是计算机编程的常识。这里介绍一下7和16这两个数字是如何来的。
首先要说说浮点数的表示方法,根据 IEEE 754,任何一个浮点数的二进制形式可以写作

V=(1)SM2E

其中:
S - 符号位(sign bit),0表示正数,1表示负数
M - 基数(Mantissa), 大于等于1,小于2
E - 指数(Exponet),类似科学计数法中的指数
而对于两类浮点数来说:
单精度浮点数中1位符号位,8位指数位,23位基数位。
浮点数精度计算_第1张图片
故实际表示表示范围(转换为10进制):

log10(223)6.92

故而约等于7.
双精度浮点数中1位符号位,11位指数位,52位基数位。
浮点数精度计算_第2张图片

故实际表示表示范围(转换为10进制):

log10(252)15.65

故而约等于16.

参考链接

浮点数二进制表示

为什么说float精度6,double精度16?

你可能感兴趣的:(编程基础,编程基础)