- 大學計算機
- 寶樂爾 白迎霞 斯琴主編
- 1459字
- 2019-10-29 14:42:05
1.3.1 進位計數(shù)制及相互轉換
1.幾種常用的進位計數(shù)制
進位計數(shù)制很多,這里主要介紹與計算機技術有關的4種常用的進位計數(shù)制。
(1)十進制
十進位計數(shù)制簡稱十進制。十進制數(shù)的特點是“逢十進一”,任意一個十進制數(shù)都可用0、1、2、3、4、5、6、7、8、9這10個數(shù)字符號組成的字符串來表示,這些數(shù)字符號稱為數(shù)碼。
數(shù)碼處于不同的位置將代表不同的數(shù)值。例如:
(169.6)10=1×102+6×101+9×100+6×10-1 (1)
由(1)式可歸納出,任意一個十進制數(shù)K,都可表示成如下形式:
(K)10=Kn-1×10n-1+Kn-2×10n-2+…+K1×101+K0×100+K-1×10-1+K-2×10-2+…+K-m+1×10-m+1+K-m×10-m
式中的K為數(shù)碼,取值范圍為0~9;n為整數(shù)位個數(shù),m為小數(shù)位個數(shù),10為基數(shù),10n-1、10n-2、…、101、100、10-1…10-m是十進制數(shù)的位權。在計算機中,一般用十進制數(shù)作為數(shù)據(jù)的輸入和輸出。
(2)二進制
計算機內部使用的是二進制數(shù)。二進制數(shù)的特點是只有兩個數(shù)碼符號——0和1,運算規(guī)則是逢二進一。例如:
(1010.1)2=1×23+0×22+1×21+0×20+1×2-1 (2)
將(2)式與(1)式比較,便會發(fā)現(xiàn)二進制數(shù)的基數(shù)為“2”,而不是“10”。相應的位權也發(fā)生了變化,不是104、103、102、101、100,而是24、23、22、21、20。
(3)八進制
由于二進制數(shù)太長,不便記憶,因而在計算機中還經常使用八進制數(shù)和十六進制數(shù)。八進制數(shù)的特點是逢八進一,每一個八進制數(shù)都由0~7這8個數(shù)碼來表示。
(4)十六進制
十六進制數(shù)的特點是逢十六進一,每一個十六進制數(shù)都是由0~9這10個數(shù)碼再加上A、B、C、D、E、F這6個字母來表示,A~F分別對應10~15這6個數(shù)。
計算機中常用的幾種進位計數(shù)制如表1-2所示。
表1-2 計算機中的進位計數(shù)制

2.不同進位制數(shù)間的轉換
由于計算機使用的是二、八、十六進制,而人們習慣于用十進制進行計算,因此,在計算機和人交流信息的過程中就必須進行相應的數(shù)據(jù)轉換。
(1)R進制轉換為十進制
方法:按權展開求和,即個位數(shù)字乘100,十位數(shù)字乘101,百位數(shù)字乘102……。下面分別是十六進制、八進制、二進制轉換成十進制的示例:
(354)H=(3×162+5×161+4×160)D=(768+80+4)D=(852)D
(254)O=(2×82+5×81+4×80)D=(128+40+4)D=(172)D
(11010)B=(1×24+1×23+0×22+1×21+0×20)D=(16+8+0+2+0)=(26)D
(2)十進制轉換成R進制
將一個十進制整數(shù)轉換成R進制是采用“除R逆序取余”法,即將十進制整數(shù)連續(xù)地除以R取余數(shù),直到商為0為止,余數(shù)從下到上排列。
小數(shù)部分轉換成R進制是采用“乘R順序取整”法,即將十進制小數(shù)不斷地乘以R取整數(shù),直到小數(shù)部分為0或達到一定精度為止,余數(shù)從上到下排列。
例如:將十進制數(shù)100.8125轉換成二進制數(shù)。轉換結果為(100.8125)D=(1100100.1101)B。
再如:將十進制數(shù)193.15轉換成八進制數(shù)。轉換結果為(193.15)D≈(301.11463)O。
(3)二進制與八進制、十六進制之間的轉換
由于二進制、八進制和十六進制之間存在特殊關系:81=23、161=24,即1位八進制數(shù)相當于3位二進制數(shù),1位十六進制數(shù)相當于4位二進制數(shù),因此轉換方法比較容易。
①二進制數(shù)轉換成八進制數(shù)時,整數(shù)部分是從最后一位開始向左數(shù),三個數(shù)一組,不足用“0”補上;小數(shù)部分則是從第一位開始向右數(shù),3個數(shù)一組,不足用“0”補上。
例如:將二進制數(shù)(10101011.110101)B轉換成八進制數(shù)。
(整數(shù)高位補0)
再如:將八進制數(shù)(2731.62)O轉換成二進制數(shù)。
(整數(shù)前的高位0可取消)
②二進制數(shù)轉換成十六進制數(shù)時,與二進制轉換為八進制類似,只不過是每4位為一組,兩頭不足4位補0即可。
例如:將二進制數(shù)(10101011.110101)B轉換成十六進制數(shù)。
(小數(shù)低位補0)
再如:將十六進制數(shù)(2D5C.74)H轉換成二進制數(shù)。
(整數(shù)前的高位0和小數(shù)后的低位0可取消)
二進制、十進制、八進制、十六進制的對應關系如表1-3所示。
表1-3 常用進制的對應關系
