2010-01-25 26 views
0

我怎麼會去尋找兩個字節的二進制補碼值0xFF72的值爲「?問題關於補和IEEE 754所表示

  1. 我會通過轉換0xFF72爲二進制啓動?
  2. 反向。該位
  3. 以二進制表示加1 //丟在這裏。
  4. 寫小數。

我只是不知道..

另外,

什麼是一個8字節double值爲:0x7FF8000000000000。它的值作爲浮點數?

+3

你一次提出幾個問題(也是家常便服的問題)。我知道IEEE 754和2的補碼之間沒有任何關係。 對於你的8字節的值,你爲什麼不通過'long long'字段在一個聯合體中編寫它,該聯合體在小C程序中也有'double'字段(編譯器中「long long」爲64位)? – 2010-01-25 05:20:37

+0

在我看來,你在這裏問了兩個問題,沒有把它們分開。標題具有誤導性。就IEEE 754而言,這些位沒有反轉,並且在浮點問題之後立即進行二進制補碼混淆。 – 2010-01-25 15:15:32

+0

@David,Corey:我編輯了標題,試圖澄清大衛的擔憂。隨意回滾。 – 2010-01-25 15:50:24

回答

2

第3步只是意味着將值加1。它聽起來很簡單。 :-)

與0xFF72

實施例(這裏假定16位):

  1. 首先,倒轉:0x008D(每個數字是簡單地0xF減去原始值)
  2. 然後加入1:0x008E
0

這聽起來像是功課和開放性,你應該如此標記它。

至於解釋一個8字節(雙)浮點數,看看this Wikipedia article

+0

這不是家庭作業..這是一個關於2周前測驗的問題,我錯過了,想學習如何去做 – Steller 2010-01-26 18:44:27

1

我會認爲這是家庭作業,但對於列出的特定雙。 0x7FF8000000000000是根據IEEE-754規範,不是一個很有趣的價值放在家庭作業一個安靜楠:

  • 符號位是明確的。
  • 指數字段是0x7ff,它是最大可能的指數,這意味着該數字是無窮大或NaN。
  • 有效字段是0x8000000000000。既然它不是零,那麼這個數字就不是無窮大,而必須是一個NaN。由於引導位被設置,所以它是一個安靜的NaN,而不是所謂的「信號NaN」。
+0

這是不是家庭作業..這是一個關於2周前測驗的問題,我錯過了,想學習如何去做 – Steller 2010-01-26 18:44:49