原碼,反碼,補碼,個人理解

2022-03-09 14:47:46 字數 631 閱讀 7392

原碼:

二進位制定點表示法,即最高位為符號位,」0「表示正數,」1「表示負數,其餘的位表示數值的大小

正數的最高位為0

負數的最高位為1

例子:符號位     數值位

+7  0   0000111    

-7   1   0000111

反碼:正數的反碼與原碼相同,沒有任何改變

負數的反碼:與原碼的符號位不變,其他值取反,也就是0變1,1變0   

例子:符號位     數值位

+7  0   0000111    

-7   1   1111000

補碼:正數的補碼與原碼相同,沒有任何改變

負數的補碼是在反碼的基礎上加1

例子:符號位     數值位

+7  0   0000111    

-7   1   1111001

總結一下:

乙個byte 的範圍為何是  -128~127

乙個位元組為8個bit,也就是 00000000 (8位)

當計算機為了區分正數和負數,占去了乙個符號位來表示正負,所以最大的數只能表示 1111111  (7位),

二進位制的1111111轉換為10進製就是+127。

請教下。。。我理解的對嗎?

原碼 反碼 補碼個人記錄

計算機中實際上並沒有減法,而只有加法,減法用增加乙個數的相反數實現。即1 1在計算機中的實際預算中為 1 1 而此時如果使用原碼進行運算 0 0000001 1 1 0000001 1 1 0000010 2 會出現運算錯誤的情況。為了解決原碼做減法出錯的問題,出現了反碼 0 0000001 1反 ...

再度理解原碼 反碼 補碼

很早就開始接觸這些熟悉又陌生的關鍵字,但是,時不時還會有錯 看定義 正數的原碼 反碼 補碼形式一致,負數的反碼為原碼的數值位取反,補碼為反碼 1也即是原碼的數值位取反再 1,計算機中以補碼表示資料和運算 舉例 34原碼 反碼 補碼 00100010 34原碼 10100010,反碼 11011101...

補碼原碼反碼簡單理解

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