官术网_书友最值得收藏!

1.2.2 數制的轉換

1.非十進制轉換為十進制

按權展開求和,各個數碼與相應位權相乘以后再相加即為對應的十進制數。

【例1-2】將二進制數(10011.101)2、八進制數(504.1)8、十六進制數(18D.6)16轉換為十進制數。

解:(10011.101)2=1×24+0×23+0×22+1×21+1×20+1×2-1+0×2-2+1×2-3

=16+2+1+0.5+0.125=(19.625)10

(504.1)8=5×82+0×81+4×80+1×8-1=320+4+0.125=(324.125)10

(18D.6)16=1×162+8×161+13×160+6×16-1=256+128+13+0.375=(397.375)10

2.十進制轉換為非十進制

整數部分和小數部分分別遵循不同的轉換規則。將十進制數轉換為R進制數的過程如下:

整數部分:除以R取余法,即整數部分不斷除以R取余數,直到商為0為止,最先得到的余數為最低位,最后得到的余數為最高位。

小數部分:乘R取整法,即小數部分不斷乘以R取整數,直到乘積為0或達到有效精度為止,最先得到的整數為最高位(最靠近小數點),最后得到的整數為最低位。

轉換規則可簡記為:以小數為基準,整數部分除以R取余數,直到商為0,所得余數從右往左依次排列;小數部分乘R取整數,直到小數為0或達到有效精度為止,所得整數從左至右依次排列。

【例1-3】將(183.625)10分別轉換成二進制、八進制和十六進制數。

解:若十進制數既有小數部分,又有整數部分,則將它們分別轉換后再合起來。

整數(183)10轉換成其他R進制的方法,除R取余:

整數部分轉換結果為:(183)10=(10110111)2=(267)8=(B7)16

小數(0.625)10轉換成其他R進制的方法,乘R取整:

小數部分轉換結果為(0.625)10=(0.101)2=(0.5)8=(0.A)16;所以,最終轉換結果為(183.625)10=(10110111.101)2=(267.5)8=(B7.A)16

提示

有的十進制小數不能精確轉換為相應的非十進制小數,即出現“除不盡”現象,此時可根據要求保留一定的小數位數。

3.八進制、十六進制轉換為二進制

由23=8和24=16可以看出每位八進制數可用3位二進制數表示,每位十六進制數可用4位二進制數表示。所以,將八進制或十六進制轉換為二進制時,只要將八進制數或十六進制數的每一位表示為3位或4位二進制數,去掉整數首部的0或小數尾部的0即可得到二進制數。

【例1-4】將(372.531)8和(19A76.78)16轉換為二進制數。

解:(372.531)8=(011 111 010.101 011 001)2=(11 111 010.101 011 001)2

(19A76.78)16=(0001 1001 1010 0111 0110.0111 1000)2

=(1 1001 1010 0111 0110.0111 1)2

4.二進制轉換為八進制、十六進制

由8=23和16=24可以得知,二進制轉換為八進制或十六進制時,需要以小數點為中心,分別向左、右每3位或4位分成一組,不足3位或4位的,整數部分在左邊補零,小數部分在右邊補零。然后,將每組數用一位對應的八進制數或十六進制數代替即可。

【例1-5】將(11011011110111.110001)2轉換為八進制數和十六進制數。

解:當由二進制數轉換成八進制數或十六進制數時,只需要把二進制數按照3位一組或4位一組轉換成八進制數或十六進制數即可。

轉換結果為(011 011 011 110 111.110 001)2=(33367.61)8;(0011 0110 1111 0111.1100 0100)2=(36F7.C4)16

主站蜘蛛池模板: 宝清县| 霞浦县| 伊金霍洛旗| 竹山县| 石嘴山市| 靖江市| 垦利县| 丰顺县| 渝中区| 云阳县| 来宾市| 丹寨县| 舒城县| 舟山市| 玉田县| 留坝县| 广南县| 福清市| 将乐县| 禄丰县| 台江县| 漳州市| 策勒县| 汉川市| 长海县| 普格县| 凤城市| 丹阳市| 慈利县| 合阳县| 南宫市| 固镇县| 呈贡县| 扎囊县| 阜城县| 广宁县| 甘南县| 九寨沟县| 南宫市| 抚宁县| 囊谦县|