请教浮点数
最近在学习浮点运算器的写法!从opencores下了一个IP核,可看到浮点的乘除法的时候就看晕了(阶码溢出的判断和处理),关键是书本的知识没学懂!可下来一查,关于这方面的书和资料太少。不知道有没有哪位达人给指条路……
万分感谢!有感兴趣的也交流,交流!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
最近在学习浮点运算器的写法!从opencores下了一个IP核,可看到浮点的乘除法的时候就看晕了(阶码溢出的判断和处理),关键是书本的知识没学懂!可下来一查,关于这方面的书和资料太少。不知道有没有哪位达人给指条路……
万分感谢!有感兴趣的也交流,交流!
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(9)
首先我觉得应该熟悉IEEE标准的浮点数格式标准。
ieee754标准已经看过了!
Representation 和 Arithmetic 都有讲,说的都是规则!
现在缺的就是一个实现,不知哪本书有比较详细的实现讲解……
浮点数的运算实现?
我们就以乘法作比方,
乘法器你应该知道
浮点数是用科学记数法表示。
那么指数部分的运算就是把加法器改造一下,乘法部分也就是把乘法器改造一下,最后整合的时候可以实现异常处理
基本的实现过程已搞定
缺的是一些特殊的处理,比如四种舍入模式 + 阶码溢出 + 尾数溢出 的组合时的处理
google了好几天了,也没有找到满意的答案。还望具体指点一下!
可以结合 TAoCP, Vol2, Chap 4.2 和 MMIXware 的 mmix-arith.w 一起看.
浮点数方面着实是个难点,祝你好运
谢了,楼上的!
嘻:wink:
记得有段关于浮点数代码的注释是: What's the fuck !
没看懂楼主到底想知道什么?浮点乘(除)大致如下(以乘为例):
1)两数的尾数部分相乘。
2)将所得的积进行归一化。
3)由归一化结果出来指数部分的修正值。
4)两数的指数部分相加。
5)所得的和与修正值相加。
6)判断是否溢出。
以IEEE 754中的64位浮点数为例。其指数部分范围为0~2047。小于0或大于2047,就是溢出。
参见我的BLOG。