知識點總結 原碼反碼補碼

2021-10-07 21:55:22 字數 1425 閱讀 1738

數值在計算機中的二進位制表示形式

注意:機器數是帶有符號的,最高位是符號位,使用0表示正數,使用1表示負數

5->0000 0101

乙個資料表示時,第一位為符號位,剩餘的為有效位

字16位 1位符號 15位有效資料位

int->整數 4個位元組 32 -2147483648—2147483647

-231—232-1

long->長整型8個位元組64 一位符號63 -263-263-1

1000 0111=-7

機器數所對應的二進位制的真正的數值

1000 0111=-7

0000 1111=15

1000 1010=-10

原碼就是符號位加上真值的絕對值

正數:符號位 有效位 +11 11-> 000 1011

​ 0000 1011

負數:符號位 有效位 -15->取絕對值 15->000 1111

​ 1000 1111

求原碼:

34 00100010

-39 10100111

-55 10110111

正數:正數的反碼=原碼

負數:符號位不變,其餘各位逐一取反,只有兩種狀態[0,1] 1->0 0->1

-49原碼 10110001

補碼 11001110

-36原碼 10100100

補碼 11011011

正數:正數的原碼=反碼=補碼 如+3 0000 0011[原]=0000 0011[反]=0000 0011[補]

負數:先求得反碼,在負數反碼的基礎上,加1

原碼:11000001

反碼:10111110

補碼:10111111

在設計計算機時,只設計了加法器,沒有設計減法器;

5-3=5+(-3)

原碼不可以直接計算的!

反碼:解決了只設計加法器,使用加速器進行減法運算的問題;

缺點:正負相加0的表示不唯一;

補碼[高位溢位]

1=0000 0001[補]

-1=1111 1111[補]

0000 0001

1111 1111

0000 0000

67-49

-33-23

因為負數的補碼不能直接讀出結果,但是原碼可以,所以將補碼轉原碼,可以讀出負數的值;

補碼->原碼

原則:補碼的補碼

把補碼當原碼,求補碼

計算規則:符號位不變,其餘取反,然後加1;

求-128的補碼 為1000 0000[-128補]

乙個位元組,不可以表示-128的原碼

1000 0000 1000 0000[-128的原碼]

求反碼1111 1111 0111 1111

加一1111 1111 1000 0000

1000 0000

基礎知識點 原碼, 反碼, 補碼

本篇文章講解了計算機的原碼,反碼和補碼.並且進行了深入探求了為何要使用反碼和補碼,希望本文對大家學習計算機基礎有所幫助 在學習原碼,反碼和補碼之前,需要先了解機器數和真值的概念.乙個數在計算機中的二進位制表示形式,叫做這個數的機器數。機器數是帶符號的,在計算機用乙個數的最高位存放符號,正數為0,負數...

原碼 補碼 反碼總結

前一段時間在做模型外殼提取程式時候,用到了補碼的知識,現在系統的總結下原碼 補碼 反碼的知識。你可能注意到了我寫的順序是補碼在反碼前面,是的,補碼不是必須依賴於反碼才能得知的,但本文為了方便講解和容易理解仍然採用了先反碼再補碼的順序。本文以1個位元組的儲存空間為例進行講解。原碼比較簡單,最高位為符號...

原碼 反碼 補碼的總結

原碼 反碼 補碼 數值在計算機中表示形式為機器數 計算機只能識別0和 1,使用的是二進位制 而在日常生活中人們使用的是十進位制 正如亞里斯多德早就指出的那樣 今天十進位制的廣泛採用 只不過我們絕大多數人生來具有 10個手指頭這個解剖學事實的結果 儘管在歷史上手指計數 5,10進製 的實踐要比二或三進...