原碼,反碼,補碼及其運算


原碼,反碼,補碼及其運算

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

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM