2014-01-10 37 views
0

我有一個問題,我已經解決了許多其他類似的問題,我已經成功完成了作爲我的任務的一部分。我對這個問題之一有點疑惑......十進制符號和星等轉換

「十進制數字-256被保存在一個9位內存位置,代表符號和大小。」

,我就是得到了答案...... 11 0000 0000

我得到了,這是通過執行以下操作:

首先證明了二進制形式,然後反轉最顯著位(位在最左邊,O代表正值,1代表負值)符號決定它是正值還是負值,幅值是數字總數或位數總和等。

請注意,I已經添加了一些額外的位以顯示-256的符號和幅度的表示。這僅僅是因爲9位不足以顯示256是負數還是負數,因爲它最大。總共9位給出256的大小,第10位(最左邊)顯示符號'1',這表明它是負的256.

我發現令人困惑的是十進制-256被保存在一個9位的存儲單元中,我得到的結果是1 0000 0000。我添加了一個額外的位來表明該數字是負數,然後用10位表示它。我有困難,我只能用9位代表-256的符號和大小。似乎不可能在9位顯示,因此我使用了10位,但我只允許使用9位。有人可以幫助如何實現這一目標。對你的幫助表示感謝。我只是有點卡住了這一點。我的導師期望我們使用互聯網或自我知識,並不會給我們提供線索。所以這就是我來這裏的原因。

+0

兩補有有趣的特點是號碼的範圍是總是正的N負(N + 1)。也就是說,有符號的字節將表示從127到-128。在你上面的例子中-256是2的補碼形式的9位1。 –

+0

你正在尋找的符號/幅值表示有時被稱爲「一補」。它有一個有趣的特徵,即有零值和正值。 (這是額外的數丟失。) –

+0

(順便說一句,在'11 0000 0000'回答你有以上是正確的。) –

回答

0

知道這有點晚了,但我剛剛在我的硬件中也想到了這一點,並查看它。

以w位爲單位的符號幅度的大小是2^(w-1)-1
100000000的十進制等值爲256。 鑑於位數是92^(8)-1 = 255

所以不可能將2569位存儲爲符號幅度。

-1

你的導師聽起來不對,你不能用二的補碼形式表示。

+0

是的,但我的意思是,必須有一個可能的答案,這是不是?它也在過去的考試中。我只是不明白,我是否應該使用額外的位或給出9位的答案,這將是10000 0000,並在其旁邊寫入「溢出」。你怎麼估計-256可以用9位來計算符號和幅度? – ComputerScienceStudent

+0

_「這必須有一個可能的答案」_。有可能「沒有可能的答案」是正確的答案。我在考試中多次遇到這個技巧:-) – Kevin

+0

@凱文感謝您的幫助伴侶。它幫助了很多。我們過去也遇到過詭計的問題。非常感謝您的幫助:) – ComputerScienceStudent

-1

這是不可能代表-256符號大小,具有9個比特,僅僅因爲它不可能代表2568的比特,(精度8位,得到2^8 = 256不同的可能值,這樣就可以從0起來代表到255,但沒有更多)。

+0

感謝您的幫助。我只知道這是不可能的,但我也知道有一個可能的答案是「沒有可能的答案」,謝謝澄清。 – ComputerScienceStudent

+0

不正確。二進制補碼數的範圍是-2 ^(n-1)到+ 2 ^(n-1)-1,它們是2^n個不同的值。 9位給你-256到+255。見http://en.wikipedia.org/wiki/Two's_complement –

+0

@PeterWebb我什麼都沒有說兩個補碼。我特別指出,你不能在**符號幅度中表示-256,這取決於附加位不會改變絕對值的範圍,在給定8位時它只能達到255。請再次閱讀我的答案,並重新考慮你的失敗,我說過沒有錯,並正確回答了這個問題。 – amnn

相關問題