2013-03-01 81 views
0

因此,這是在我的教科書中的一個問題,我們還沒有到達那裏,但是我很感興趣,這是如何工作的,One的二進制補碼8位有符號的大小,以二進制

對於第一位在這裏,我對補碼的理解是你翻轉,所以在1的位置你輸入0和0,你輸入1。這必須是8位,所以我剛開始添加一個零到二進制 Therefre 01001001 寫下+73以下的二進制表示:

8-bit unsigned: 01001001 
8-bit signed-magnitude: 01001001 
8-bit one's complement: 10110110 
8-bit two's complement: 10110111 
8-bit excess-128: 10110111 

這是我想出了答案,但我米相當肯定我做錯了他們。對此有何澄清?其次,我如何做到這一點與否定的-73,二進制只是-01001001,所以我認爲這是簽名,你做同樣的技術,如上所述(假設我已經得到他們正確)

8-bit signed-magnitude: -01001001 
8-bit one's complement: 
8-bit two's complement: 
8-bit excess-128: 

預先感謝任何幫助

回答

1

+73是所有你被點名除了過剩-128的交涉01001001。超過-128 11001001(加128)。符號幅度,補碼和二進制補碼對於正數都是一樣的,只對負數有所不同。在這些表示中-73的值是:

8-bit sign magnitude 11001001 
8-bit one's complement 10110110 
8-bit two's complement 10110111 
8-bit excess-128  00110111 

補碼'翻轉所有比特'是你如何用補碼錶示否定數字。所以,如果你有n,讓你翻轉所有的位。

'翻轉所有位並加1'是你如何否定二進制補碼中的數字。

二進制補碼和二進制補碼都有一個奇數值。對於補碼即-0(所有比特集合),其實際上與0相同 - 或者可以將其視爲無效和特殊情況否定0.對於二進制補碼,即-2 ^(n-1) - - 128位爲8位 - 這是一個由於溢出而自身否定的數字。