2015-03-03 34 views
0

我有這個簡單的問題,由於某種原因,我有麻煩,我會很樂意得到幫助。找到使用基地補碼9

我在基地10有兩個數字:

5250,321

我從10到9改變的基礎,然後我得到:

5250 - > 7173

321 ---> 386

我使用r補碼的方法與基9:

首先我會找到基數9中的0386的補碼,即6561-386 = 6175。

因此:

7173 + 6175 = 14358(在基體9),因爲它的一種補充9

,我們接收在基座9

這是不正確。

任何想法爲什麼我的方法是不正確的?

任何幫助將不勝感激。

回答

1

你是混合基地。 6561以基數9爲基數10000

您需要計算基數9中的100000 - 386以獲得補數。這導致88503。所以88503是基數爲9的386的十進制補碼。注意多餘的數字,否則7173將在此表示中爲負數。

現在你可以計算7173 + 88503 = 106676了。所以結果是6676,它是十進制的4929,這是預期的結果。

+0

謝謝您的回覆,您能否解釋爲什麼我需要計算100,000-386 ?,我想我應該計算10,000-386,因爲6561基數爲9等於10,000 – JaVaPG 2015-03-04 20:24:26

+0

問題是基數爲10的「5250」需要由於'7173'是一個4位數的負數,因此5位數可以用補碼錶示法在基數9中表示。您可以考慮數字「128」並計算8位數字的二進制表示:「1000 0000」。如果你處理'1000 000'就像2的補數,它是'-128'而不是'+ 128'。你需要多一位數字來表示它是'+ 128'('0 1000 0000'),因爲'-128'是9數字2的補碼二進制中的'1 1000 0000'。 – mch 2015-03-04 21:05:51