您的位置:首页 > 理论基础

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

2017-04-01 22:36 204 查看
浮点型数据在计算机内存中存储原理:

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次方次幂。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: