浮点数 数据类型分析

1、Float 数据类型格式

byteByte1B1B2B3
bit012345678910111213141516171819202122232425262728293031
占用符号位exp指数位

有效数字位

2^(-n)次方对应小数值分析:

n1234567891011121314151617181920212223
小数值0.50.250.1250.06250.031250.0156250.00781250.003906250.0019531250.00097656250.00048828130.00024414060.00012207036.103515625E-053.0517578125E-051.52587890625E-057.62939453125E-063.814697265625E-061.9073486328125E-069.5367431640625E-074.76837158203125E-072.38418579101562E-071.19209289550781E-07
总和0.9999998808

由于2^(-23)的值为 1.19209289550781E-07 此为二进制小数的十进制表示时的最小进度,因此Float 数据类型的最最大有效数位为7位,7位时数据已经不是很精确!  

因此 Float类型的有效数字数值处于6-7个有效位之间  不同编译器处理不一样。有些编译器按照7位有效数字,有些按照6为有效数字

2、Double数据类型格式

byteB1B1B2B3B4B5B6B7
bit0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
占用符号位exp指数位 11位有效数字位 52位

2^(-n)次方对应小数值分析:

n12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
小数值0.50.250.1250.06250.031250.0156250.00781250.003906250.0019531250.00097656250.00048828130.00024414060.00012207036.103515625E-053.0517578125E-051.52587890625E-057.62939453125E-063.814697265625E-061.9073486328125E-069.5367431640625E-074.76837158203125E-072.38418579101562E-071.19209289550781E-075.96046447753906E-082.98023223876953E-081.49011611938477E-087.45058059692383E-093.72529029846191E-091.86264514923096E-099.31322574615479E-104.65661287307739E-102.3283064365387E-101.16415321826935E-105.82076609134674E-112.91038304567337E-111.45519152283669E-117.27595761418343E-123.63797880709171E-121.81898940354586E-129.09494701772928E-134.54747350886464E-132.27373675443232E-131.13686837721616E-135.6843418860808E-142.8421709430404E-141.4210854715202E-147.105427357601E-153.5527136788005E-151.77635683940025E-158.88178419700125E-164.44089209850063E-162.22044604925031E-16
总和1.00000000000000000000/

由于2^(-52)的值为 2.2E-16 此为二进制小数的十进制表示时的最小进度,因此Float 数据类型的最最大有效数位为16位,但是此时最小位的最小偏差为2.2,非1,因此舍掉,故为15位有效数字

因此double类型的数据的有效数字位为15位

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值