回覆列表
  • 1 # ahalz47229

    如果只是手工相減,完全可以借鑑十進位制數的減法,不用涉及反碼補碼之類的概念。唯一不同的是,十進位制減法不夠減時,上位借1下位加10,而十六進位制則是上位借1下位加16。例如72H減35H,2-5,不夠減。上位借1作16,2-5就變成了16+2-5=13, 即D; 上位被借了1,所以就是6-3=3,因此結果是3DH.如果用轉換的方法,轉換成二進位制相減再轉回十六進位制,還不如轉換成十進位制相減再轉回十六進位制容易。>計算機只有加法沒有減法,好象要用到反碼和補碼.負數用補碼錶示後,可以和正數一樣來處理。這樣,運算器裡只需要一個加法器就可以了,不必再配一個減法器。具體到所舉的例子72H-35H, 用補碼運算, 就是(72)[補碼] + (-35)[補碼]。以8位機為例: 72H = 0111 0010, 正數的補碼與原碼相同,還是 01110010; -35H = -0011 0101, 負數的補碼是對反碼加一。先逐位求反,得11001010, 加1得11001011;0111001011001011----------+00111101注意相加的結果應該是100111101, 但在八位機裡(8模系統)放不下9位數,只留後8位,所以結果就是00111101,即3DH.當然相加的結果也是補碼。現在最高位是0,所以結果是正數。如果高位為1,那就是負數,轉回十進位制時要特別注意。

  • 中秋節和大豐收的關聯?
  • 汽車駕駛怎樣區分道路內側和外側大神們幫幫忙?