[問題] 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