很基礎的東東了... 但還是有點混淆... mark
就是說,符號位也一起運算。可以計算下 2-3
[x+y]補 = [x]補 + [y]補
【例5】x=+0110011,y=-0101001,求[x+y]補
[x]補=00110011 [y]補=11010111
[x+y]補 = [x]補 + [y]補 = 00110011+11010111=00001010
注:因為
計算機中運算器的位長是固定的,上述運算中產生的最高位進製將丟掉,所以結果不是
100001010,而是00001010。
[x-y]補 = [x]補 - [y]補 = [x]補 + [-y]補
其中[-y]補稱為負補,求負補的方法是:負數的絕對值的
原碼所有位按位取反;然後整個數加1。(恢復本來解釋。請路人真正理解並實際驗證後再修改。以免誤導大眾。另外,例6不具典型性,新增例7。)
【例6】1+(-1) [十進位制]
1的原碼00000001 轉換成補碼:00000001
-1的原碼10000001 轉換成補碼:11111111
1+(-1)=0
00000001+11111111=00000000
00000000轉換成十進位制為0
0=0所以運算正確。
【例7增】-7-(-10) [十進位制]
-7的補碼:11111001
-10的補碼:11110110
-(-10):按位取反再加1實際上就是其負值的補碼,為00001010
-7 - (-10)= -7 + 10 = 3
11111001+00001010 = 00000011
轉換成十進位制為3
原碼 反碼 補碼
正數 原碼 反碼 補碼一樣 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進製 的實踐要比二或三進製計數出現的晚.摘...