概述
我們平常最習慣的是十進制數,而計算機硬件內部唯一能識別的是二進制數,任何其他計數值和信息在計算機內都要轉化為二進制數。
十進制(decimal)
- 逢十進位
- 共有0 ~ 9十個數字符號,用D表示或不帶任何標識默認為十進制數。例:20D或20
二進制(binary)
- 逢二進位
- 共有0,1兩個數字符號,用B表示。例:1010B
介紹完最基本的兩種數值,接下來我們介紹一種用於簡化二進制表示的兩種進制:
十六進制(Hex)
- 共有0 ~ 9,A ~ F 十六個數字符號
- 逢十六進位,用H表示。例:A3H
八進制(octal)
- 共有0 ~ 7八個數字符號
- 逢八進位,用O表示,例:20.52O
非十進制數向十進制數轉換
使用按權展開公式完成非十進制數向十進制數轉換
其中N為計數的基數,又稱進位數;Ki為第i位的系數;Ni稱為第i位的權;
備注:
- 小數點左起第一位的權位是0,左起第二位的權位是1,依次類推。
- 小數點右起第一位的權位是-1,右起第二位的權位是-2,依次類推。
下面展示使用該公式完成非十進制數向十進制數轉換:
十進制到非十進制轉換
對整數和小數兩部分分別運算,最后組合即為答案。
- 十進制對N進制的轉換:
- 對整數:除N取余,直到商為0為止。余數自下而上排列。
- 對小數:乘N取整。直到小數為0為止。整數自上而下排列。
下面展示十進制轉換為非十進制的例子:
二進制數向非十進制數的轉換
二進制數轉換為十六(2的N次)方進制數
- 用4(N)位二進制數表示1位16(2的N次)進制數。
- 整數部分,從小數點左起第一位開始分組,每4(N)位一組,不夠4(N)位高位補0。
- 小數部分,從小數點右起第一位開始分組,每4(N)位一組,不夠4(N)位低位補0。
下面展示二進制數向非十進制數的轉換的例子:
其中紅色數字位補0部分。每4位一組,利用"8421法則"將得到的4個數值相加的和,與其他組得到的和拼接,即為轉化后的十六進制數。
二進制數轉換八進制數同理,但八進制使用的是"421法則"。
十六進制數轉二進制數
1位十六進制數通過對應一組4位二進制數,這一組4位二進制數通過“8421法則”求和等於這一位十六進制數,再將得到的多個組拼接。
下面展示十六進制數向二進制數的轉換的例子
(數電p8)
八進制數轉二進制數
1位八進制數通過對應一組3位二進制數,這一組3位二進制數通過“421法則”求和等於這一位八進制數,再將得到的多個組拼接。
下面展示十六進制數向二進制數的轉換的例子
(數電p9)