1. 程式人生 > 實用技巧 >原碼、反碼、補碼

原碼、反碼、補碼

原碼、反碼、補碼

引言:

在溫故位操作中的移位時,涉及到了原碼、反碼、補碼概念
這裡來溫故下原碼、反碼、補碼的概念
還是要提一句:欠下的債,總是要還的、

正數

正數的原碼、反碼、補碼都是同一個東西,都等於原碼。

例如:
十進位制數的23的原碼是多少?
首先將23轉成二進位制,用除二取餘的演算法。

所以23的原碼是0001 0111。最高位是符號位,0為正,1為負。
正數的反碼和補碼和原碼一致。
正數在計算機裡的儲存方式是以補碼方式儲存的

負數

負數的原碼和正數一樣,都用除二取餘的演算法得到,但是需要注意的是,最高位的符號位是1。
反碼是,除了最高位符號位,其餘數位取反。


補碼是,反碼+1;

例如:寫出十進位制數-23的原碼,反碼,補碼。
原碼:1001 0111
反碼:1110 1000
補碼:1110 1001

在計算機中,負數是以補碼的形式存放的