浮点数的偏置常数

偏置常数,帮助增大浮点数的精度

拿 float 举例:

float 的阶码有八位

规格化数的表示范围 1~254

P s : 当 阶 码 全 为 1 时 或 全 为 0 时 , 表 示 的 是 特 殊 情 况 — — 如 无 穷 和 非 数 N a N \color{green}{Ps:当阶码全为1时或全为0时,表示的是特殊情况——如无穷和非数NaN} Ps10NaN

详细可以参考:浮点数的一些特殊数值

这样的指数,足以给浮点数表示足够大的数

但是, 想 精 确 小 数 点 后 的 数 字 却 仍 有 不 足 \color{red}{想精确小数点后的数字却仍有不足}

所以,这里设置一个偏执常数2^(n-1) - 1 =2^7 -1 =127

来让 float 规格化数阶码部分的表示范围变成

-126~127

当指数为负数时,相当于小数点往左边移动,让小数部分的位数增加了

举例:

1.1 x 2^(-1) (这里的1.1是二进制,真值是1.5,可参考二进制小数)

即表示 0.11 ——0.75

Ps:

在十进制中,除以10即小数点左移一位

在二进制中,除以2即小数点左移一位

综上:

偏执常数的设置,是为了浮点数小数部分的精度考虑的

额 外 拓 展 一 个 问 题 , 为 什 么 偏 置 常 数 要 设 置 成 127 ? \color{green}{额外拓展一个问题,为什么偏置常数要设置成127?} 127

127 = ( 1 + 254 ) / \color{green}{127=(1+254)/ } 127=1+254/ 2 \color{green}{2} 2

127 刚 好 是 f l o a t 规 格 化 数 阶 码 的 表 示 范 围 的 中 间 值 \color{green}{127 刚好是float 规格化数阶码的表示范围的中间值} 127float

前 面 求 偏 置 常 数 的 公 式 , 就 是 据 此 推 出 来 的 \color{green}{前面求偏置常数的公式,就是据此推出来的}

  • 10
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值