簡單理解補碼

2021-10-03 02:15:59 字數 653 閱讀 3272

原碼反碼補碼:

其中最不容易理解的就是補碼,先來看乙個關於時鐘的例子:

10點到8點,中間差了幾個小時?

演算法一:10-8

=2小時

演算法二:10

+(24

-8)mod 24

=2小時

從演算法二可以看出,減去乙個數,相當於加上了另乙個正數(只是需要取模)。

那麼理解補碼就很容易了:假設模為8,佔4位的有符號數

2

=0010-1

=1001求2-

1= ?

減去1,相當於加上了另外乙個正數,這個正數加上-1的絕對值剛好是模(8),也就是-1的補碼。

-1的補碼為1111, 也就是說:補碼與原始碼的絕對值相加正好等於模!

補碼的計算結果正好就等於原碼的反碼+1, 這其實只是乙個巧合,科學家給我們的公式,讓我們便於計算,但是我們不能忘記了其本質的原理。

1.計算機中,正數負數均是由補碼的方式進行儲存

2.補碼的絕對值+原始碼的絕對值=模, 只是在這樣計算補碼發現:補碼剛好等於反碼+1

3.減去乙個正數,也可以用加上另外乙個正數並且取模來替代

補碼原碼反碼簡單理解

看到一句i2s的data是以補碼形式來表現資料。再次查閱得出以下只管結論 1,首先直觀舉例機器裡面是如何存放有符號數的 1在機器裡面表示為 0000 0001h 0在機器裡面表示為 0000 0000h 1在機器裡面表示為1111 1111h 2在機器裡面表示為1111 1110h 其實機器並不知道...

如何理解補碼?

本文嘗試用更加淺顯和本質的方式去理解補碼。人類習慣於用十進位制數進行運算,而計算機的每個位卻只有0和1兩種狀態,換句話說,計算機採用的進製是二進位制。因此,我們面臨的第乙個問題就是計算機如何用二進位制來表示十進位制數字。對於正數而言,可以直接用該數的二進位制形式來表示,例如,十進位制數2,其在計算機...

補碼綜合理解

一 名詞解釋 補碼 1 在計算機系統中,數值一律有補碼來表示 儲存 使用補碼,可以將符號位和其他位統一處理 同時,減法也可按加法來處理.另外,兩個用補碼表示的資料相加時候,如果最高位 符號位 有進製,則進製被捨棄.2 補碼與原碼的轉換過程幾乎是相同的 數值的補碼表示也分兩種情況 1 正數的補碼 與原...