正文 第2章 計算機基礎知識2(3 / 3)

具有十個不同的數碼符號0、1、2、3、4、5、6、7、8、9,其基數為10;十進製數的特點是逢十進一。

例如。(1010)10=1×103+0×102+1×101+0×100(3)八進製(八進位計數製)。

具有八個不同的數碼符號0、1、2、3、4、5、6、7,其基數為8;八進製數的特點是逢八進一。

例如。(1010)8=1×83+0×82+1×81+0×80(4)十六進製(十六進位計數製)。

具有十六個不同的數碼符號0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,其基數為16;十六進製數的特點是逢十六進一。

用計算機處理十進製數,必須先把它轉換成二進製數才能被計算機所接受,同理,計算結果應將二進製數轉換成人們習慣的十進製數。這就產生了不同進製數之間的轉換問題。不同進製數和十進製數之間轉換的基本原則為。r進製轉換成十進製。數碼乘以各自的位權的累加。

十進製轉換成r進製。整數部分除以r取餘數,直到商為0,餘數從末位讀起。小數部分乘以r取整數,整數按從上往下的順序排列。

(1)十進製數與二進製數之間的轉換。

①十進製整數轉換成二進製整數。

把一個十進製整數轉換為二進製整數的方法如下。把被轉換的十進製整數反複除以2,直到商為0,所得的餘數(從末位讀起)就是這個數的二進製表示。簡單地說,就是“除2取餘法”。

例1將十進製整數(156)10轉換成二進製整數。

於是,(156)10=(10011100)2。知道十進製整數轉換成二進製整數的方法以後,了解十進製整數轉換成八進製或十六進製就很容易了。十進製整數轉換成八進製整數的方法是“除8取餘法”,十進製整數轉換成十六進製整數的方法是“除16取餘法”。

②十進製小數轉換成二進製小數。

把一個十進製小數轉換為二進製小數的方法如下。將十進製小數連續乘以2,選取進位整數,直到滿足精度要求為止。簡稱“乘2取整法”。

例2將十進製小數(0.8125)10轉換成二進製小數。將十進製小數08125連續乘以2,把每次所進位的整數,按從上往下的順序寫出。於是,(08125)10=(01101)2。

了解了十進製小數轉換成二進製小數的方法以後,那麼,了解十進製小數轉換成八進製小數或十六進製小數就很容易了。十進製小數轉換成八進製小數的方法是“乘8取整法”,十進製小數轉換成十六進製小數的方法是“乘16取整法”。

③二進製數轉換成十進製數。

把二進製數轉換為十進製數的方法是將二進製數按權展開求和。

例3將(111011.101)2轉換成十進製數。(111011.101)2=1×25+1×24+1×23+0×22+1×21+1×20+1×2-1+0×2-2+1×2-3=32+16+8+2+1+0.5+0.125=(59.625)10同理,非十進製數轉換成十進製數的方法是把各個非十進製數按權展開求和即可。如把二進製數(或八進製數或十六進製數)寫成2(或8或16)的各次冪之和的形式,然後再計算其結果。

(2)二進製數與八進製數之間的轉換。

二進製數與八進製數之間的轉換十分簡捷方便,它們之間的對應關係是,每一位八進製數對應三位二進製數。

①二進製數轉換成八進製數。

轉換方法為。將二進製數從小數點開始,整數部分從右向左三位一組,小數部分從左向右三位一組,不足三位用0補足,每組對應一位八進製數即可得到八進製數。

例4將(11110101010.11111)2轉換為八進製數。於是,(11110101010.11111)2=(3652.76)8。

②八進製數轉換成二進製數。

轉換方法為。以小數點為界,向左或向右每一位八進製數用相應的三位二進製數取代,然後將其連在一起,並去除最左和最右邊多餘的0即可。

例5將(5247.601)8轉換為二進製數。於是,(5247.601)8=(101010100111.110000001)2。

(3)二進製數與十六進製數之間的轉換。

二進製數與十六進製數之間的轉換十分簡捷方便,它們之間的對應關係是,每一位十六進製數對應四位二進製數。

①二進製數轉換成十六進製數。

轉換方法為。將二進製數從小數點開始,整數部分從右向左四位一組,小數部分從左向右四位一組,不足四位用0補足,每組對應一位十六進製數即可得到十六進製數。

例6將二進製數(111001110101.100110101)2轉換為十六進製數。於是,(111001110101.100110101)2=(E75.9A8)16。

例7將二進製數(101111101111110)2轉換為十六進製數。

②十六進製數轉換成二進製數。

轉換方法為。以小數點為界,向左或向右每一位十六進製數用相應的四位二進製數取代,然後將其連在一起,並去除最左和最右邊多餘的0即可。

例8將(7FE.11)16轉換成二進製數。於是,(7FE.11)16=(11111111110.00010001)2。