1)簡述
原碼: 用來轉換對應進位.
反碼: 二進位碼0變1,1變0叫做反碼,反碼用於原碼補碼之間的轉換.(符號位不變)。
補碼: 用來做數據的存儲運算. 補碼提出的根源是讓電腦底層的實現減法操作(可以表達出一個數的正負)。
2)運算規則
(原碼 反碼 補碼之間的轉換 , 符號位不要動)
正數: 原碼 = 反碼 = 補碼
負數: 原碼 = 補碼取反加1 給補碼求原碼
負數: 補碼 = 原碼取反加1 給原碼求補碼
求12 +(- 15) = ? 補碼用來做數據的存儲運算,因此先求12和-15的補碼 12的補碼(=反碼=原碼):0000 1100(高位為0,表示正數) -15的原碼: 1000 1111 (高位為1,表示負數,轉換為10進位時,高位的1不用進行換算) 反碼: 1111 0000 (原碼取反) 補碼: 1111 0001 (反碼加1) 補碼做相加運算 12的補碼: 0000 1100 -15的補碼: 1111 0001 ------------- 結果(補碼): 1111 1101 補碼再轉換為原碼(即補碼的補碼,同樣做取反加1換算) 補碼: 1111 1101(高位為1,表示負數,進行補碼反碼原碼換算時是不變的) 反碼: 1000 0010(補碼取反) 原碼: 1000 0011(反碼加1) 10進位: -3