二進制、八進制、十六進制與轉換

將二進制、八進制、十六進制轉換爲十進制

二進制、八進制和十六進制向十進制轉換都是非常容易的,就是“按權相加”。
所謂“”,也即“位權”。
例如:8546=8 * 10 ^ 3 + 5 * 10 ^ 2 + 4 * 10 ^ 1 + 6 * 10^ 0=8000+500+40+6
不同進制轉換爲十進制舉例:

整數部分
1.將八進制數字 53627 轉換成十進制:
53627 = 5× 8^4 + 3× 8^3 + 6×8^2 + 2×8^1 + 7×8^0 = 22423(十進制)

2.將十六進制數字 9FA8C 轉換成十進制:9(15)(10)8(12)
9FA8C = 9×16^4 + 15×16^3 + 10×16^2 + 8×16^1 + 12×16^0 = 653964(十進制)

3.將二進制數字轉換成十進制也是類似的道理:
11010 = 1×2^4 + 1×2^3 + 0×2^2 + 1×2^1 + 0×2^0 = 26(十進制)
小數部分
1.將八進制數字 423.5176 轉換成十進制:
423.5176 = 4×8^2 + 2×8^1 + 3×8^0 + 5×8^-1 + 1×8^-2 + 7×8^-3 + 6×8^-4 = 275.65576171875(十進制)

2.將二進制數字 1010.1101 轉換成十進制:
1010.1101 = 1×2^3 + 0×2^2 + 1×2^1 + 0×2^0 + 1×2^-1 + 1×2^-2 + 0×2^-3 + 1×2^-4 = 10.8125(十進制)

更多轉換成十進制的例子:
二進制:1001 = 1×2^3 + 0×2^2 + 0×2^1 + 1×2^0 = 8 + 0 + 0 + 1 = 9(十進制)
二進制:101.1001 = 1×2^2 + 0×2^1 + 1×2^0 + 1×2^-1 + 0×2^-2 + 0×2^-3 + 1×2^-4 = 4 + 0 + 1 + 0.5 + 0 + 0 + 0.0625 = 5.5625(十進制)
八進制:302 = 3×8^2 + 0×8^1 + 2×8^0 = 192 + 0 + 2 = 194(十進制)
八進制:302.46 = 3×8^2 + 0×8^1 + 2×8^0 + 4×8^-1 + 6×8^-2 = 192 + 0 + 2 + 0.5 + 0.09375= 194.59375(十進制)
十六進制:EA7 = 14×16^2 + 10×16^1 + 7×16^0 = 3751(十進制)

將十進制轉換爲二進制、八進制、十六進制
整數部分
十進制整數轉換爲 N 進制整數採用“除 N 取餘,逆序排列”法。

下圖演示了將十進制數字 36926 轉換成八進制的過程:
除8取餘逆排序
其他進制照此方法求值
小數部分
十進制小數轉換成 8進制小數採用“乘 8 取整,順序排列”法。
下圖演示了將十進制小數 0.930908203125 轉換成八進制小數的過程:
在這裏插入圖片描述
從圖中得知,十進制小數 0.930908203125 轉換成八進制小數的結果爲 0.7345。
轉化其他進制照此方法求值

二進制整數和八進制整數之間的轉換
二進制整數轉換爲八進制整數時,每三位二進制數字轉換爲一位八進制數字,運算的順序是從低位向高位依次進行,高位不足三位用零補齊。下圖演示瞭如何將二進制整數 1110111100 轉換爲八進制:
在這裏插入圖片描述
從圖中可以看出,二進制整數 1110111100 轉換爲八進制的結果爲 1674。

八進制整數轉換爲二進制整數時,思路是相反的,每一位八進制數字轉換爲三位二進制數字,運算的順序也是從低位向高位依次進行。下圖演示瞭如何將八進制整數 2743 轉換爲二進制:
在這裏插入圖片描述
從圖中可以看出,八進制整數 2743 轉換爲二進制的結果爲 10111100011。

二進制整數和十六進制整數之間的轉換
二進制整數轉換爲十六進制整數時,每四位二進制數字轉換爲一位十六進制數字,運算的順序是從低位向高位依次進行,高位不足四位用零補齊。下圖演示瞭如何將二進制整數 10 1101 0101 1100 轉換爲十六進制:
在這裏插入圖片描述
從圖中可以看出,二進制整數 10 1101 0101 1100 轉換爲十六進制的結果爲 2D5C。

十六進制整數轉換爲二進制整數時,思路是相反的,每一位十六進制數字轉換爲四位二進制數字,運算的順序也是從低位向高位依次進行。下圖演示瞭如何將十六進制整數 A5D6 轉換爲二進制:
在這裏插入圖片描述
從圖中可以看出,十六進制整數 A5D6 轉換爲二進制的結果爲 1010 0101 1101 0110。

十進制轉換二進制:表格法
在這裏插入圖片描述
如圖求22.8125的值轉換爲二進制,先把整數和小數的值分開,把22拿到表格中比較,小於表格中的數就爲0,大於表格中的數就爲1,然後取差和下一個數再比較,小數部分0.8125和整數部分方法一樣。

相對於整數部分除以轉換值求餘數取反,小數部分乘進制值取整比較這個方法更簡單,圖中的表格都是2的進制。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章