五大編碼方式
原碼、反碼、補碼、移碼、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 碼)
- 用途:顯示裝置、財務計算避免二進制轉換誤差