2014-09-26 62 views
-3

我今天在測驗中有過這個問題。任何人都可以向我解釋解決方案,以及如何找到解決方案? 什麼是base-10數字0.53125的32位浮點表示?在下面的選項中,最左邊的位是數據值中最重要的位。如何找到基地10號碼的32位浮點表示?

+0

你應該做IEEE FP表示的一些谷歌搜索,需要一定的數值 - 方法數學課並做一些工作。 – 2014-09-26 23:45:08

+0

你是什麼意思的「表示」?你的意思是IEEE-754 binary32?如果是這樣,爲什麼不閱讀[規範](http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=4610933),或像[Wikipedia's](http://en.wikipedia.org)這樣的簡單解釋/維基/單precision_floating-point_format)?如果不是,你說什麼_do_? – abarnert 2014-09-26 23:45:21

+3

這個問題似乎是無關緊要的,因爲它是關於爲別人的任務做艱難而無聊的工作。 – 2014-09-26 23:45:57

回答

0

在這裏我們可以展示如何使用以下大綱基地10實數轉換成IEEE 754 binary32格式:

考慮整數的實數和小數部分,例如12.375 轉換和規範整數部分成二進制 使用以下技術如這裏所示 添加兩個結果轉換的分數部分和調整它們,以產生一個適當的最終轉化率

轉換小數部分的:

考慮0.375,小數部分爲12.375。要將其轉換爲二進制分數,請將分數乘以2,取整數部分並將新分數重新乘以2,直到找到零分數或者直到達到IEEE 754 binary32格式的23分數位的精度限制。

0.375 x 2 = 0.750 = 0 + 0.750 => b-1 = 0,整數部分表示二進制小數位。再乘以2 0.750進行

0.750×2 = 1.500 = 1 + 0.500 => B-2 = 1

0.500×2 = 1.000 = 1 + 0.000 => B-3 = 1時,分數= 0.000,終止

我們看到(0.375)10可以用二進制正確表示爲(0.011)2。並非所有小數可以用有限數字二進制小數表示。例如,十進制0.1不能完全用二進制表示。所以它只是近似。

因此(12.375)10 =(12)10 +(0.375)10 =(1100)2 +(0.011)2 =(1100.011)2

+0

該結果不是IEEE格式,它是指數始終爲0的某種定點格式,並且該點的左側和右側至少有4位數。 (如果你剛剛更改了第一句話,這將是準確的,並且一個讓求助者開始解決他的問題的好方法。) – abarnert 2014-09-26 23:50:30