含义:表明单精度和双精度精确的范围不一样,单精度,也即float,一般在计算机中存储占用4字节,也32位,有效位数为7位;双精度(double)在计算机中存储占用8字节,64位,有效位数为16位。
原因:不管float还是double 在计算机上的存储都遵循IEEE规范,使用二进制科学计数法,都包含三个部分:符号位,指数位和尾数部分。其中float的符号位,指数位,尾数部分分别为1,8,23;双精度分别为1,11,52。
精度主要取决于尾数部分的位数,float为23位,除去全部为0的情况以外,最小为2的-23次方,约等于1.19乘以10的-7次方,所以float小数部分只能精确到后面6位,加上小数点前的一位,即有效数字为7位。
类似,double 尾数部分52位,最小为2的-52次方,约为2.22乘以10的-16次方,所以double精确到小数点后15位,有效位数为16位。
相关文章
- 03-21单精度和双精度
- 03-21练习4-3 求给定精度的简单交错序列部分和 (15分)
- 03-21趋势交易——SMA和EMA双均线交易系统
- 03-21【题解】剑指 Offer II 008. 和大于等于 target 的最短子数组(双指针)(不定长度滑动窗口)
- 03-21python基础教程_学习笔记19:标准库:一些最爱——集合、堆和双端队列
- 03-21数字的C精度和fstream的截断
- 03-216.单分支,双分支,多分支和练习题
- 03-21hbase数据导出和恢复 设置双master + 查看hbase表占用磁盘大小
- 03-21训练时,训练误差、精度,和验证误差、精度,都保持不变,是个固定值(难受),这是为啥呢?
- 03-21【STM32F429的DSP教程】第31章 STM32F429实数浮点FFT(支持单精度和双精度)