當前位置:編程學習大全網 - 源碼下載 - 什麽是原碼、反碼、補碼?

什麽是原碼、反碼、補碼?

計算機中,並沒有原碼和反碼。

正負數據,在計算機中,只是以補碼存放的。

以八位二進制來說明補碼結構。

數字 0,就是以 0000 0000 存放。

數字 1,就是加上 1,得 0000 0001。

其它,繼續加,就行了。

數字 127,就是 0111 1111。

------

數字-1,就是 0 減壹,即:

0000 0000-1 =(借位 1)? 1111 1111。

只保留八位,存放形式就是 1111 1111 (十進制 255)。

數字-2,就再減壹,得:1111 1110 (= 254)。

數字-3,就再減壹,得:1111 1101 (= 253)。

其它,繼續減,即可... ...

數字-128,存放形式就是:1000 0000 (= 128)。

------

以上這些,就是補碼。

八位補碼可以表示:-128~+127。

計算公式:

 負數的補碼=256+該負數

 正數的補碼,就是正數本身

(如果需要二進制,妳自己再變換。)

------

用補碼代替負數,就可以把減法,轉換為加法運算。

因此,計算機只要有壹個加法器,就夠用了。

例如: 7-3 = 4。

用補碼的計算過程如下:

7 的補碼=0000 0111

 -3的補碼=1111 1101

--相加-------------

 得:  (1)?0000 0100?= 4 的補碼

舍棄進位,只保留八位作為結果,就是 4。

這就用加法,解決了負數以及減法的問題。

------

原碼和反碼,並沒有這些功能。

所以,在計算機中,並沒有原碼和反碼。

所謂的“取反加壹”,由誰算呢?

計算機,可不做這些事。

  • 上一篇:Android tabhost源代碼
  • 下一篇:智慧旅遊APP方案開發要多少錢
  • copyright 2024編程學習大全網