[问题] IEEE 754 浮点数运算以及rounding请益

楼主: ayn775437403 (阿玮)   2020-05-31 14:12:52
大家好
小弟目前在修系上计算机方面的课程
老师希望我们写出一个浮点数的运算单元,
然后以IEEE 754 单精度浮点数为标准,rounding方式是round to nearest even
而老师给的测资都是标准二进制浮点数的格式了,不用自己再转为IEEE 754浮点数
即输入会像是这样:
0 10010011 0000 0000 0000 0000 1111 111
| |
作者: firejox (Tangent)   2020-05-31 14:23:00
都告诉你round to nearest even了,就是用那种方式做。你提的3个都不是老师要求的你得到G,R,S后,要根据他们的值额外做进位,最后依然是23bits不是,rounding 是算完在做的。以位移来说,次方数差超过25位是不会影响rounding的结果。比方说,你减完得到G是1、R是1,你这结果还要进位才是round to nearest even 的值超过的部分在进位前做保留,以硬件来说多几位元存不是很大的问题。像是32位元的无号整数乘法,他会乘完得出64位元的值再取32位元我上面的部分有地方讲错,round to nearest even需要看4个地方,第23位、G、R、S,rounding完会让第23位为0。更正,第23位不一定为0进位规则是G and (R or S or 第23位),1的话进位,0的话舍去是这样算没错
作者: alan23273850   2020-05-31 17:41:00
运算规则规格书找不到吗?自己都说 IEEE754 了何不看看原文
作者: suhorng ( )   2020-06-01 00:34:00
在运算的时候就当一般的数学计算做 做完后再 rounding转回 IEEE754 表示法. 换句话说, 中间步骤做计算时就当成是普通的数学计算, 不要考虑精度跟表示法的限制
作者: remember (人老也有天使收)   2020-06-06 15:57:00
github上面 testfloat 跟 softfloat 研究一下https://www.amazon.com/Numerical-Computing-Floating-Point-Arithmetic/dp/0898714826google 一下 这本 不到110页 好懂又实在

Links booklink

Contact Us: admin [ a t ] ucptt.com