浮点型数据的储存

浮点型数据的储存

  • float 单精度浮点型

float型数据占4个字节,32位

1位符号位,8位表示阶码,后23位表示尾数

请添加图片描述

IEEE 754浮点数标准中,float型数据阶码有8位,可以表示的阶码范围为0~ 255,偏置常数为127,阶的范围为-127 ~ 128,因为全零阶码和全1阶码有其他用处(下面写),所以可以表示的阶实际上为-126~127

尾数用原码表示,规格化尾数第一位总为1(对阶),因而可以在尾数中缺省第一位的1,该缺省为为隐藏位,隐藏一位后是的单精度格式的23位尾数实际上表示了24位尾数。


例如float型数据1.2在内存中的储存:

1.25:

首先符号为正,所以符号位为0,1.25转换为2进制为1.01,1.10*2º不需要对阶,首位1省去,23尾数为尾数中只写小数部分,阶为0,所以阶码为0+127,转换为二进制为0111 1111

所以1.25在内存中的储存为0111 1111 1010 0000 0000 0000 0000 0000


0.375:

符号位正,符号位为0,0.375 转换为二进制为0.011,即1.10*2^(-1),阶为-1,阶码为0111 1110

所以0.375在内存中储存为0111 1110 1100 0000 0000 0000 0000 0000


十进制小数转换为2进制


十进制小数 * 2 取整,自上而下取整数

例如:0.375转换为二进制

请添加图片描述


全0阶码,全0尾数

表示:+0/-0,一般情况下+0和-0是等效的。

全0阶码,非0尾数

表示:非规格化尾数

全1阶码,全0尾数

表示:+∞/-∞

全1阶码,非0尾数

表示:NaN(非数)


可表示的十进制小数精度

因为float型数据有23位尾数,2²³ = 8,388,608,是七位数字,所以float最多可以保留7位有效数字,但绝对能保证的只有6位,所以说float型数据可以保留6~7位小数


  • double 型数据

double型数据占8个字节,64位

1位符号位,11位阶码,后面52位为尾数,偏置常数为1023

其他大致与float型数据相同

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

17丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值