數值在計算機中的二進位制表示形式
注意:機器數是帶有符號的,最高位是符號位,使用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進製 的實踐要比二或三進...