負數原碼與補碼之間相互轉換

2022-08-21 15:09:09 字數 591 閱讀 4341

背景:計算機內部用補碼表示二進位制數。符號位 1 表示負數,0 表示正數。

正數:無區別,正數 的原碼= 反碼 = 補碼

若已知 負數 -8,則其

原碼為:1000 1000,(1為符號位,為1代表負數,為0代表正數)

反碼為:1111 0111,(符號位保持不變,其他位置按位取反)

補碼為:1111 1000,(反碼 + 1)

即在計算機中 用 1111 1000表示 -8

若已知補碼為 1111 1000,如何求其原碼呢?

(1)方法1:求負數 原碼--->補碼 的逆過程。

注意:符號位保持不變!

(a)先 - 1,得到 1111 0111

(b)取反(符號位保持不變,其他位置按位取反 ),得到 1000 1000

(2)方法2:

注意:符號位保持不變!

(a)將這個二進位制數中(即 1111 1000),除了符號位,其餘位置按位取反,得 1000 0111

(b)+ 1,得到 1000 1000

-1 後,再取反   和 取反後,再+1  的效果是一樣的。

這就和  -(3-1)  和 (-3 +1) 是乙個道理。

進製之間的相互轉換 原碼反碼補碼

2020 6.30 計算機常用進製及進製之間的相互轉換 1.進製的由來 結繩計數 書契計數 算盤正字計數 進製的概念 進製計數法 對於n進製,逢n進1 生活中常用的是十進位制 2.生活中常用的進製 十進位制七進製 星期 0 6 0代表周天 十二進位制 一年十二個月 0 11 1999 12 12 在...

原碼反碼補碼的相互轉換

正數的原碼,反碼,補碼都是相同的。負數的原碼,反碼,補碼的相互轉化問題如下 負數原碼和反碼的相互轉化 負數原碼轉化為反碼 符號位不變,數值位按位取反。原碼 1100 0010 反碼 1011 1101負數反碼轉化為原碼 符號位不變,數值位按位取反。反碼 1011 1101 原碼 1100 0010負...

原碼補碼相互轉換,簡單方法

大家都知道,對於計算機中的運算,都是以二進位制的形式計算,那麼很多時候,原碼,反碼,補碼的計算是很煩人的 對於我來說吧 所以有一種簡單的方式 記住,以下是原碼和補碼互換的 負數 正數的補碼反碼和原碼是一樣的,這個你應該知道吧 唯一的,也是獨特的 規則如下 從數的右邊往左開始數,遇到 0 不理它,直到...