首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 組合語言

計算機體系結構:碼制系統原碼反碼補碼移碼 BCD 完整比較

     編輯:組合語言

五大編碼方式

原碼、反碼、補碼、移碼、BCD 碼。電腦讀取、傳輸、運算、顯示皆依賴碼制。

原碼

  • 表示:最高位符號位 (0 正/1 負),其餘為絕對值
  • 範例:[+11]原 = 00001011、[-11]原 = 10001011
  • 範圍:-127 ~ +127 (8 位元)
  • 優點:乘除法簡單
  • 缺點:0 有兩種表示 (+0=00000000/-0=10000000);加減法符號位不可直接參與運算,易溢出錯誤
  • 錯誤例:1 + (-1) = 00000001 + 10000001 = 10000010 = -2

反碼

  • 表示:正數同原碼;負數符號位不變,其餘位元取反
  • 範例:[+11]反 = 00001011、[-11]反 = 11110100
  • 優點:符號位可直接參與運算;減法轉加法
  • 缺點:0 仍有兩種表示 (+0=00000000/-0=11111111);仍有負零問題
  • 錯誤例:1 + (-1) = 00000001 + 11111110 = 11111111 = -0

補碼 (現代電腦主流)

  • 表示:正數同原碼;負數 = 反碼 + 1
  • 優點:0 唯一表示;符號位參與運算;加減法統一、無負零、硬體實作最簡單

移碼

  • 表示:在補碼基礎上符號位取反 (加偏移量 2^(n-1))
  • 用途:浮點數指數部表示,便於比較大小

BCD 碼

  • 表示:每個十進制數字用 4 位元二進制編碼 (8421 碼)
  • 用途:顯示裝置、財務計算避免二進制轉換誤差
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved