【计算机系统基础】浮点数

IEEE浮点标准用来表示

  • s表示符号

  • M表示尾数,范围0~2-ε(ε>0)

  • E表示阶码,对浮点进行加权

浮点数位的表示

  • 一个单独位表示s

  • k位阶码字段exp表示E(无符号)

  • n位小数字段frac表示M,它的值还要根据exp是否位0来决定

C语言中,float单精度浮点数k=8,n=23

s

exp

frac

31 30 23 22 0

double双精度浮点数k=11,n=52

s

exp

frac

63 62 52 51 32

frac

31 0

根据阶码给定的值,被编码的值分为三种情况,用单精度来表示

规格化

s

frac

非规格化

s

exp=0

frac

无穷大

s

exp=255

frac=0

NaN(无效)

s

exp=255

这些编码的值为多少,有如下规则

规格化的情况下,E=exp-bias,bias表示偏置值等于,单精度为127,双精度为1023。

M=1.frac,小数字段的高位为离小数点近的位,假如frac部分为1010...,则M=1.1010...

在非规格情况下,E=1-bias,M=0.frac,这样绝对值小于1的小数就能被表示出来

特殊值,阶码全为1,s=0,frac=0时是正无穷。s=1,frac=0时是负无穷。frac不为0时,是无效数。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值