float型和double型数据的存储方式

本文介绍了浮点数在计算机中的存储方式,包括float和double类型的精度。float遵循IEEE R32.24标准,占用32位,保证约6-7位有效精度;double遵循R64.53,占用64位,提供15-16位有效精度。存储结构包含符号位、指数位和尾数部分。浮点数转换为二进制科学计数法时可能出现的不精确性导致了精度损失和转换误差。
摘要由CSDN通过智能技术生成

对于浮点类型的数据采用单精度类型(float)和双精度类 型(double)来存储,float数据占用32bit,double数据占用64bit。通常

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

double可以保证十进制科学计数法小数点后15位有效精度和第16位的部分精度。

因为float和double的精度是由尾数决定的,什么是尾数呢,下面看看浮点型数据在底层是如何存储的。

 

我们在声明一个变量float f= 2.25f的时候,是如何分配内存的呢?如果胡乱分配,那世界岂不是乱套了么?

 

其实不论是float还是double在存储方式上都是遵从IEEE的规范 的,float遵从的是IEEE R32.24 ,而double 遵从的是R64.53。

 

无论是单精度还是双精度在存储中都分为三个部分:

 

  1. 符号位(Sign) : 0代表正,1代表为负
  2. 指数位(Exponent):用于存储科学计数法中的指数数据,并且要加上偏移量(float偏移127,double偏移量1023)
  3. 尾数部分(Mantissa)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值