1. 程式人生 > >python~進位制,位運算(3)

python~進位制,位運算(3)

原碼,反碼,補碼:

1,如何計算補碼:

規則:

正數: 原碼 = 反碼 = 補碼

負數: 反碼 = 符號位不變,其他位取反

         補碼 = 反碼+1

取反: 取反不是反碼,而是把所有的0變1,1變0. 符號位也要變, 變了之後是補碼,所以要得到反碼的話要減1.

示例:

1的原碼: 0 000 0001

-1的原碼: 1 000 0001

-1的反碼: 1 111 1110

-1的補碼: 1 111 1111

結果:

-1 + 1 = -1的補碼 + 1的補碼

  1 111 1111

+ 0 000 0001

--------------------------------

= 0 000 0000

*數字只有8bit,計算結果多出的那個1並不屬於這8bit裡,所以不算