1. 程式人生 > >進位制轉換:二進位制、八進位制、十六進位制、轉十進位制

進位制轉換:二進位制、八進位制、十六進位制、轉十進位制

將二進位制、八進位制、十六進位制等轉換為十進位制
二進位制、八進位制和十六進位制向十進位制轉換都非常容易,就是“按權相加”。所謂“權”,也即“位權”。
假設當前數字是 N 進位制,那麼:
對於整數部分,從右往左看,第 i 位的位權等於Ni-1
對於小數部分,恰好相反,要從左往右看,第 i 位的位權為
N-i
1) 整數部分
例如,將八進位制數字 53627 轉換成十進位制:
在這。。裡插入圖片描述
再如,將十六進位制數字 9FA8C 轉換成十進位制:
其中ABCDEF分別代表十進位制的11,12,13,14,15
在這裡插入圖片描述
從右往左看,第1位的位權為 16º=1,第2位的位權為 16¹=16,第3位的位權為 16²=256,第4位的位權為 16³=4096, 第n位的位權就為 16n-1。將各個位的數字乘以位權,然後再相加,就得到了十進位制形式。

將二進位制數字轉換成十進位制也是類似的道理:
在這裡插入圖片描述
2) 小數部分
例如,將八進位制數字 423.5176 轉換成十進位制:
在這裡插入圖片描述
小數部分和整數部分相反,要從左往右看,第1位的位權為 8-1=1/8,第2位的位權為 8-2=1/64,第3位的位權為 8-3=1/512,第4位的位權為 8-4=1/4096 …… 第m位的位權就為 8-m
再如,將二進位制數字 1010.1101 轉換成十進位制:
1010.1101 = 1×23 + 0×22 + 1×21 + 0×20 + 1×2-1 + 1×2-2 + 0×2-3 + 1×2-4= 10.8125(十進位制)
小數部分和整數部分相反,要從左往右看,第1位的位權2-1=1/2,第2位的位權為 2-2

=1/4,第3位的位權為 2-3=1/8,第4位的位權為 2-4=1/16 …… 第m位的位權就為 2-m

更多轉換成十進位制的例子:
二進位制:1001 = 1×23 + 0×22 + 0×21 + 1×20 = 8 + 0 + 0 + 1 = 9(十進位制)
二進位制:101.1001 = 1×22 + 0×21 + 1×20 + 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×82 + 0×81 + 2×80 = 192 + 0 + 2 = 194(十進位制)
八進位制:302.46 = 3×82 + 0×81

+ 2×80 + 4×8-1 + 6×8-2 = 192 + 0 + 2 + 0.5 + 0.09375= 194.59375(十進位制)
十六進位制:EA7 = 14×162 + 10×161 + 7×160 = 3751(十進位制)