電腦中常用的數的進位主要有:二進位、八進位、十六進位,學習電腦要對其有所瞭解。
2進位,用兩個阿拉伯數字:0、1;
8進位,用八個阿拉伯數字:0、1、2、3、4、5、6、7;
10進位,用十個阿拉伯數字:0到9;
16進位就是逢16進1,但我們只有0~9這十個數字,所以我們用A,B,C,D,E,F這五個字母來分別表示10,11,12,13,14,15。字母不區分大小寫。
以下簡介各種進位之間的轉換方法:
一、二進位轉換十進位
例:二進位 “1101100”
1101100 ←位元
6543210 ←排位方法
例如二進位換算十進位的演算法:
1*26 + 1*25 + 0*24 + 1*23 + 1* 22 + 0*21 + 0*20
↑ ↑
說明:2代表進位,後面的數是次方(從右往左數,以0開始)
=64+32+0+8+4+0+0
=108
二、二進位換算八進位
例:二進位的“10110111011”
換八進位時,從右至左,三位一組,不夠補0,即成了:
010 110 111 011
然後每組中的3個數分別對應4、2、1的狀態,然後將為狀態為1的相加,如:
010 = 2
110 = 4+2 = 6
111 = 4+2+1 = 7
011 = 2+1 = 3
結果為:2673
三、二進位轉換十六進位
十六進位換二進位的方法也類似,只要每組4位,分別對應8、4、2、1就行了,如分解為:
0101 1011 1011
運算為:
0101 = 4+1 = 5
1011 = 8+2+1 = 11(由於10為A,所以11即B)
1011 = 8+2+1 = 11(由於10為A,所以11即B)
結果為:5BB
四、位元轉換為十進位數
位元第0位的權值是2的0次方,第1位的權值是2的1次方……
所以,設有一個位元:0110 0100,轉換為10進位為:
計算: 0 * 20 + 0 * 21 + 1 * 22 + 1 * 23 + 0 * 24 + 1 * 25 + 1 * 26 + 0 * 27 = 100
五、八位元轉換為十進位數
八進位就是逢8進1。
八位元採用 0~7這八數來表達一個數。
八位元第0位的權值為8的0次方,第1位權值為8的1次方,第2位權值為8的2次方……
所以,設有一個八位元:1507,轉換為十進位為:
計算: 7 * 80 + 0 * 81 + 5 * 82 + 1 * 83 = 839
結果是,八位元 1507 轉換成十進位數為 839
六、十六進位轉換十進位
例:2AF5換算成10進位
直接計算就是: 5 * 160 + F * 161 + A * 162 + 2 * 163 = 10997
(別忘了,在上面的計算中,A表示10,而F表示15)、
現在可以看出,所有進位換算成10進位,關鍵在於各自的權值不同。
假設有人問你,十進數 1234 為什麼是 一千二百三十四?你盡可以給他這麼一個算式: 1234 = 1 * 103 + 2 * 102 + 3 * 101 + 4 * 100