伸出你的右手,從小指開始,給每個手指指定一個位權,位權依次是1、2、4、8、16。手指有伸直和彎曲兩個狀態,把伸直狀態用數字1表示,彎曲狀態用數字0表示。現在將右手的五個手指全部伸直,然後將拇指和食指彎曲,從拇指開始依次記錄下每個手指的狀態:00111。
00111這個神秘的數字就是二進位計數,稱它為二進位數是因為它只有0和1兩個數字,用數學語言來說就是基數為2。依次類推,基數為3的是三進位計數、……、基數為10的就是十進位計數,十進位計數有10個數字,分別是0、1、2、3、4、5、6、7、8、9。
認識了二進位計數,接下來再說說位權。可以藉助於十進位計數來理解位權,在十進位計數中,計數單位分別為個位、十位、百位、千位、萬位、十萬位……,其中個位數表示數值1、十位數表示數值10、百位數表示數值100、千位數表示數值1000、……,每個位數表示的數值叫位權。位權通過計算基數的n-1次冪就可以得到,這裡的n是指位數所在數字中的位置,例如,對十進位數1260來說,個位數是1260的第一個數字,因此n為1;十位數是第二個數字,因此n為2;百位數是第三個數字,因此n為3;千位數是第四個數字,因此n為4。由此,個位數的位權為10的1-1次冪是1,十位數的位權為10的2-1次冪是10、百位數的位權為10的3-1次冪是100、千位數的位權為10的4-1次冪是1000。
理解了十進位的位權,再來理解二進位的位權就很容易了。前面二進位數00111從低位到高位的位權依次是2的0次冪1、2的1次冪2、2的2次冪4、2的3次冪8、2的4次冪16,這也是前面從小指開始到拇指指定的位權。
理解了二進位計數的基數和位權,就可以進行數制轉換了。00111如何轉換成十進位計數呢?轉換很簡單,將二進位數從高位到低位每個數字乘以相應的位權然後求和就可以了。
00111(二進位)= 0 * 16 + 0 * 8 + 1 * 4 + 1 * 2 + 1 * 1 = 7(十進位)
十進位數到二進位數的轉換可以採用「除2取餘,逆排序」法,具體轉換過程是,用2去除一個十進位數,得到商和餘數,然後再用2去除商,又會得到商和餘數,循環往復直至商為0為止。轉換過程如下圖所示。