當前位置:編程學習大全網 - 源碼下載 - 源碼 反碼 補碼的概念?

源碼 反碼 補碼的概念?

帶符號數,有三種表示方法,即:原碼、反碼和補碼。

但是,在計算機系統中,數值壹律用補碼來表示和存儲。

所以,在計算機系統中,原碼和反碼,都是不存在的。

使用補碼的意義:可以把減法或負數,轉換為加法運算。

因此,就能簡化計算機的硬件。

=====================

補碼的概念,來自於:補數。

比如鐘表,時針轉壹圈,周期是 12 小時。

那麽,倒撥 3 小時,可以用正撥 9 小時代替。

9,就是-3 的補數。 計算方法: 9 = 12-3。

同理,分針倒撥 X 分,可以用正撥(60-X)?代替。

60,是分針的周期。

同理,三角函數的周期是 2π。 那麽,

-π/2 處?的函數值,就與?2π-π/2 = +3π/2?處?相同。

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

當妳使用兩位十進制數:0~99,周期就是 壹百。

那麽,減壹,就可以用 +99 代替。

24-1 = 23

24 + 99 = (1) 23

舍棄進位,這兩種算法,功能就是相同的。

於是,99 就是 -1 的補數。

其它負數的補數,可以按照下式來求:

  補數 = 周期 + 負數

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

計算機中使用二進制,補數,就改稱為補碼。

八位二進制是:0000 0000~1111 1111。

相當於十進制:0~255, 周期就是 256。

那麽,-1,就可以用 255 = 1111 1111 代替。

所以:-1 的補碼,就是 1111 1111 = 255。

同理:-2 的補碼,就是 1111 1110 = 254。

繼續:-3 的補碼,就是 1111 1101 = 253。

。。。

最後:-128 的補碼,就是 1000 0000 = 128。

負數補碼的計算公式: 256 + 這個負數 。

(式中的 256 = 2^8,是八位二進制的周期。)

正數,並不存在補碼的問題。

所以,正數,並沒有補碼,可以直接運算。

(也有人亂說:正數本身就是補碼。)

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

求解算式: 7-3 = 4。

計算機中,並沒有減法器,必須改用補碼相加。

列豎式如下:

7 的補碼=0000 0111

  -3的補碼=1111 1101

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

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

舍棄進位,只保留八位,結果完全正確。

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

借助於補碼,可以簡化計算機的硬件。

原碼和反碼,都沒有這種功能。

所以,在計算機中,根本就沒有原碼和反碼。

它們都是什麽? 就不用關心了。

  • 上一篇:git和svn哪個好
  • 下一篇:塑料的組成與特性
  • copyright 2024編程學習大全網