浮点型数据在计算机内存中存储原理

来源:互联网 发布:淘宝网结婚用品 编辑:程序博客网 时间:2024/05/18 02:43
浮点型数据在计算机内存中存储原理:
1、float占32bit,double占64bit;
2、float和double存储精度:

    float可以保证十进制科学计数法小数点后6位有效精度和第7位的部分精度

    double可以保证十进制科学计数法小数点后15位有效精度和第16位的部分精度
3、遵循的规范: 不论是float还是double在存储方式上都是遵从IEEE的规范 的,float遵从的是IEEE R32.24 ,        double 遵从的是R64.53
4、存储原理:
    无论是float还是double,在内存中存储主要分为三部分:符号位、指数位、有效数字位;
    float由1个符号位、8位指数位和23位有效数字位组成,如下图表示:
    
     double由1个符号位、11位指数位和52位有效数字位组成,如下图表示:
    
 
    下面以float类型为例介绍浮点型数据在计算机内存中存储的方式:
    以8.25为例,分为整数位和小数位,整数位和小数位分别表示为1000.01;
    
在这个地方不少人会奇怪为什么要加上127呢,小编认为:这个127的作用就是为了规定float数据类型的精度,同时避免遇到一些0.xx的小数时,指数位直接为负数,影响计算;float类型的精度是和127有关的,其精度正好为2的(127+1)次幂;同理double也是同样的,且其精度为2的2的10次方次幂。
0 0