我想將一個十進制轉換爲使用32位寄存器的浮點整數。我有手(鉛筆和紙)要做到這一點,到目前爲止我的號碼是浮點截斷vs用手四捨五入
1.11010110111100110100010011(base 2) x 2^26
現在我知道尾數只能存儲2^23點的叮咬,所以我需要表現出來會是什麼樣使用四捨五入和沒有四捨五入。我的問題是什麼決定四捨五入?我知道截斷會導致此
1.11010110111100110100010(base 2) x 2^23
並四捨五入只看該位的權利和四捨五入爲1,如果它等於1,下至0,如果它等於一個零?
如果數目是
1.11010110111100110100010111(base 2) x 2^26 where there is a one to the right?
如果什麼位在2^3是一個1和2^2位(右側)是一個1像在本實施例中
1.11010110111100110100011111(base 2) x 2^26
謝謝在這個階段,我對於四捨五入有點不清楚。
提示:二進制數的截斷和舍入的工作方式與小數位一樣。 – 2011-06-14 14:28:16
我想我的問題是,當四捨五入時,你只是在四捨五入時從左邊的第24位找到右邊的位。如果它是1,那麼你收起來,如果它是零,那麼離開它?或者你必須仔細觀察其餘位,以確定你是否需要蒐集@Paul R – floatingPointStudent 2011-06-14 14:39:03
@floating:好 - 好點 - 理論上你需要尋找儘可能多的位數「正確「舍入,但實際上大多數硬件實現使用右邊的1或2位來確定是否舍入。 – 2011-06-14 14:41:48