前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >【例题】给定一个浮点格式,有k位指数和n位小数,对于下列数,写出阶码E、尾数M、小数f和值V的公式。另外,请描述其位表示。

【例题】给定一个浮点格式,有k位指数和n位小数,对于下列数,写出阶码E、尾数M、小数f和值V的公式。另外,请描述其位表示。

作者头像
Piper蛋窝
发布2020-11-19 16:08:56
发布2020-11-19 16:08:56
1.2K00
代码可运行
举报
文章被收录于专栏:Piper蛋窝Piper蛋窝
运行总次数:0
代码可运行

前言: 上次学习汇编语言(清华大学 张悠慧)是在11月26日,内容是IEEE 754(浮点数表示)。当时撇下了一道题,等度过了12月(英语六级+本科阶段的最后考试+最后的大作业)再把汇编捡起来。现在正是把这个题目捡起来的时候。

11月26日的学习笔记:阅读原文进入CSDN链接

题目

给定一个浮点格式(IEEE 754),有k位指数和n位小数,对于下列数,写出阶码E、尾数M、小数f和值V的公式。另外,请描述其位表示。

  • 数5.0;
  • 能够被准确描述的最大奇数;
  • 最小的正规格化数。
解决
前置知识一:IEEE 754

IEEE 754约定,计算机中浮点数二进制表示为:

数字形式:

  • 符号:s
  • 尾数:M,是一个位于区间[1.0, 2.0)内的小数
  • 阶码:E

编码形式:

exp域:E(注意,E要进行变换,再存储在exp中);frac域:M。

前置知识二:规格化浮点数(Normalized)

这里讨论到规格化浮点数(Normalized):

  • 满足条件:exp不全为0且不全为1。
  • 真实的阶码值需要减去一个偏置(biased)量:
    • E = Exp - Bias
  • Exp:
    • exp域所表示的无符号数值
  • Bias的取值:
    • 单精度数: 127(Exp:1...254,E:-126...127)
    • 双精度数:1023(Exp:1...2046,E:-1022...1023)
    • Bias = 2^{e-1} - 1,e = exp的域的位数
  • frac的第一位隐含1:M = 1.xxx...x_2
    • 因此第一位的“1”可以省去,xxx...x:bits of frac
    • Minimum when 000...0 (M = 1.0)
    • Maximum when 111...1 (M = 2.0 - \epsilon)
前置工作一:整理变量关系

E最大值为。

前置工作二:总结特性

抛开例题,来看一个例子:

  • 8位浮点数表示:exp域宽度为4 bits,frac域宽度为3 bits。则,其偏置量的值为2^(4-1) - 1 = 7.
  • 其他规则符合IEEE 754规范。

取值范围如下表。

可以看出,若frac有n位,则M可视为;

其中,C是整数,由frac决定,即;

并且C满足。

默认V为正数(即s=0),则可将V表示为:

解决问题一:数0.5

较为简单,直接解决如下。

代码语言:javascript
代码运行次数:0
复制
5.0            			// 转换为二进制 ==>
101            			// 进位,直到取最左1 ==>
M    = 1.01    	// 此时,E = 2
frac = 01  0*   // 共n位
exp  = E + Bias
     = 2 + (2^(k-1) - 1)

则,位的描述为:

s

exp

frac

0

bin(2 + 2^(k-1) - 1)

01 0000....(共n位, 开头为01, 0补其他位)

解决问题二:能够被准确描述的最大奇数

根据前置工作二,进行思考。现在的任务有两个:

  • 不能有小数(C为小数,则E不可以大于n);
  • 是奇数(是奇数则过于浪费,因此使为奇数)。

下面分类讨论:

情况一:E可以取到n时,

即时,

E取n,C取其能取的最大奇数,即1* 01(保证最右两位是01, 其他位为1)。

情况二:E*取不到n时,

即时(不太可能),

E取最大即,而C取(为了约掉后一项小数)。

解决问题三:最小的正规格化数

承接上文,认为exp为0* 1,frac为0*。

E取最小,即。

十进制即为。

总结

没有找到标准答案,特性与问题是我自己总结的。如果有错误与问题,欢迎通过piperliu@qq.com与我交流讨论。

另,12月确实太忙了,差点失去常规的学习状态,接下来可要复出咯!

编辑器:https://www.mdnice.com/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Piper蛋窝 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目
  • 解决
    • 前置知识一:IEEE 754
    • 前置知识二:规格化浮点数(Normalized)
    • 前置工作一:整理变量关系
    • 前置工作二:总结特性
    • 解决问题一:数0.5
    • 解决问题二:能够被准确描述的最大奇数
    • 解决问题三:最小的正规格化数
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档