就是數值在計算機中的二進位制表現形式
機器數在計算機中有符號,使用最高位表示符號,使用0表示正使用1表示負
乙個位元組8個bit位表示
+5=0000 0101
-10=1000 1010
機器數所表示的真正的數值
如:1000 1010 =-10
原碼就是符號位加上真值的絕對值 範圍(10000000-01111111) (-128-127)
正數:正數的反碼=原碼 如:+3=00000011 (原碼)= 0000 0011(反碼)
負數:符號位不變,其餘各位直接取反 如:-7 原碼:1000 0111 反碼 1111 1000
計算機中資料以補碼的形式儲存與計算
正數:原碼=反碼=補碼 如:3 0000 0011(原碼)= 0000 0011(反碼) =0000 0011(補碼)
負數:首先求的反碼,在反碼的基礎上加1加到最低位
eg: -34 -29 -47
原碼 1010 0010 1001 1101 1010 1111
反碼 11011101 11100010 1101 0000
補碼 11011110 11100011 1101 0001
反碼: 在設計計算機時,只有加法器沒有減法器。為了將減法轉換為加法,設計反碼。
但是反碼有缺陷,正負相加0的表示不唯一。
補碼: 為了解決反碼正負相加不唯一的情況使用高位溢位解決
使用補碼計算:
45-19 00101101 +11101101=00011010
53-27 00110101+11100101=00011010
65-34 01000001 +11011110=00011111
-34-27 11011110 +11100101=11000011
正數:不需要轉
負數:求補碼的補碼
將負數的補碼當作原碼,然後求該原碼的補碼
求原碼:除符號位取反加一
eg: 補碼 反 原碼
11011110 10100001 10100010
10011011 11100100 11100101
11100011 10011100 10011101
10010011 11101100 11101101
eg:1000 0000(補碼)= -128
1111 1111 1000 0000(-128補碼)求原碼
1000 0000 0111 1111 + 1 = 1000 0000 1000 0000
原碼 反碼 補碼
正數 原碼 反碼 補碼一樣 7 原 0 0000111 b 7 反 0 0000111 b 7 補 0 0000111 b 負數 原碼就是原來的表示方法 反碼是除符號位 最高位 外取反 補碼 反碼 1 7 原 1 0000111 b 7 反 1 1111000 b 7 補 1 1111001 b 當...
原碼 反碼 補碼
正數 原碼 反碼 補碼一樣 7 原 0 0000111 b 7 反 0 0000111 b 7 補 0 0000111 b 負數 原碼就是原來的表示方法 反碼是除符號位 最高位 外取反 補碼 反碼 1 7 原 1 0000111 b 7 反 1 1111000 b 7 補 1 1111001 b 當...
原碼 反碼 補碼
數值在計算機中表示形式為機器數 計算機只能識別0和1,使用的是二進位制,而在日常生活中人們使用的 是十進位制,正如亞里斯多德早就指出的那樣,今天十進位制的廣泛採用,只不過我們絕大多數人生來具有10個手 指頭這個解剖學事實的結果.儘管在歷史上手指計數 5,10進製 的實踐要比二或三進製計數出現的晚.摘...