提出問題:計算機本質上是二進位制電路,比較好作加法,但是不好作減法,人們需要將減法轉化為加法。
預備知識:負數的表示,計算機使用最高位代表符號位,如1001 = -1,0001 = 1。
1 + (-1) = 1001 + 0001 = 1010 = -2,出現錯誤。說明在二進位制中,不能直接在正數前面添負號,將它變為負數。
來試試乙個方法,數學中負數完整的表示為 -2 = 0 - 2;
那麼轉化二進位制計算,即0000 - 0010 = 10000(被減數不夠,向前借一位,借位為何不用還了,不太清楚) - 0010 = 1111 + 1 - 0010 = 1101 + 1 = 1110;
-2 + 2 = 1110 + 0010 = 0000,即為正確答案。
補碼的得到方式為:各位取反加+1。
參考了阮一峰大神的二進位制補碼。
計算機原碼 反碼 補碼理解
計算機使用一定的編碼方式進行儲存,原碼 反碼 補碼是機器儲存乙個具體數字的編碼方式 1 原碼 第一位表示符號 正數第一位為0,負數第一位為1,其餘位表示值 以8位二進位制表示 1 原碼 0000 0001 1 原碼 1000 0001 第一位為符號位 正負數符號位 所以8位二進位制原碼範圍為 111...
計算機補碼
1 可以將符號位與其他位統一處理,無須單獨設定符號處理線路。2 只使用加法器就可以實現加減運算。3 兩個用補碼表示的數相加時,如果最高位 符號位 有進製,則進製被捨棄。例 求 7的補碼表示。解1 7的補碼表示為00000111,按照轉換規則得出 7的補碼表示為11111001。解2 還有一種做法是根...
計算機補碼
名詞解釋 補碼 1 在計算機系統中,數值一律有補碼來表示 儲存 使用補碼,可以將符號位和其他位統一處理 同時,減法也可按加法來處理.另外,兩個用補碼表示的資料相加時候,如果最高位 符號位 有進製,則進違被捨棄.2 補碼與原碼的轉換過程幾乎是相同的 數值的補碼表示也分兩種情況 1 正數的補碼 與原碼相...