所謂編碼,就是一種規則,同樣補碼也是一種規則,它的意義在於,我們怎樣從一串0和1組成的排列中解釋出這這串0和1表示的數字是多少。
補碼的規則是:假如變量的位長度是w,補碼令最高位的權重爲,其它位的權重都是正。比如一個8位的有符號數二進制是10000010,那它的有符號表示應該是。
很多人不明白什麼是補碼,就是因爲沒有明白補碼最重要的一點:最高位的權重是
同樣的道理,表示負數的方式還有反碼,原碼:
反碼,就是最高位權重定義爲;
原碼,最高位權重定義爲符號位,也就是-1。
由於解碼方式不同,有符號類型的數字在對負數的計算中處理方式也是不同的。由於補碼在計算和表示方式上有多種優勢,目前的編譯器有符號的解碼方式都是使用的補碼。