大家都知道,對於計算機中的運算,都是以二進位制的形式計算,那麼很多時候,原碼,反碼,補碼的計算是很煩人的(對於我來說吧),所以有一種簡單的方式:
記住,以下是原碼和補碼互換的(負數),正數的補碼反碼和原碼是一樣的,這個你應該知道吧
(唯一的,也是獨特的)規則如下:從數的右邊往左開始數,遇到「0」不理它,直到遇到第乙個「1」為止,以後的每一位數取反即是它的原碼或補碼,符號位不變,還是「1」(補碼的補碼是原碼)
如原碼:11010100 ----- 從右往左數,第一位是0,不理它,第二位還是0不理它,第三位是1,那麼從此以後的每位取反,即為它的補碼了.答案為:10101100
看懂了嗎?
你的題目:101011 (求補碼) 從右往左數,第一位是1,那麼,以後每位都取反,來吧,跟我來,倒數第一位是1,倒數第二位是0(因為要取反了),倒數第三位是1,倒數第四位是0,倒數第五位是1,第六位是符號位,還是1.那麼,最後的結果就是:110101
它的反碼當然只是求反而已了(除符號位之外的其它各位都取反即可),答案為:110100
補碼為101011,那麼它的原碼是什麼?
按照我剛說的,補碼的補碼就是原碼了.對這個數求補試試看.
會嗎?一樣的.從可往左數,倒數第一位是1,那麼以後每位都取反就成它的原碼了(因為這個數是乙個補碼),答案就是:110101
原碼反碼補碼的相互轉換
正數的原碼,反碼,補碼都是相同的。負數的原碼,反碼,補碼的相互轉化問題如下 負數原碼和反碼的相互轉化 負數原碼轉化為反碼 符號位不變,數值位按位取反。原碼 1100 0010 反碼 1011 1101負數反碼轉化為原碼 符號位不變,數值位按位取反。反碼 1011 1101 原碼 1100 0010負...
一 原碼反碼補碼的相互轉換
1 首先,正數的原碼,反碼,補碼相同。我們在這裡不討論。2 我們來討論負數的原碼反碼補碼的相互轉換。負數原碼轉化為反碼 符號位不變,數值位按位取反。原碼 1100 0010 反碼 1011 1101負數反碼轉化成原碼 符號位不變,數值位按位取反。反碼 1011 1101 原碼 1100 0010負數...
負數原碼與補碼之間相互轉換
背景 計算機內部用補碼表示二進位制數。符號位 1 表示負數,0 表示正數。正數 無區別,正數 的原碼 反碼 補碼 若已知 負數 8,則其 原碼為 1000 1000,1為符號位,為1代表負數,為0代表正數 反碼為 1111 0111,符號位保持不變,其他位置按位取反 補碼為 1111 1000,反碼...