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

1.2.2 不同數(shù)制間的轉(zhuǎn)換

由于計(jì)算機(jī)內(nèi)部使用二進(jìn)制,要讓計(jì)算機(jī)處理十進(jìn)制數(shù),必須先將其轉(zhuǎn)化為二進(jìn)制數(shù)才能被計(jì)算機(jī)所接受,而計(jì)算機(jī)處理的結(jié)果又需還原為人們所習(xí)慣的十進(jìn)制數(shù)。

1.二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)

二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)的方法就是將二進(jìn)制數(shù)的每一位數(shù)按權(quán)系數(shù)展開,然后相加。即將二進(jìn)制數(shù)按式(1-1)展開,然后進(jìn)行相加,所得結(jié)果就是等值的十進(jìn)制數(shù)。

【例1-1】把二進(jìn)制數(shù)11011.01轉(zhuǎn)換為十進(jìn)制數(shù)。

(11011.01)2=1×24+1×23+0×22+1×21+1×20+0×2-1+1×2-2

=16+8+0+2+1+0+0.25

=(27.25)10

2.十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)

將十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)是進(jìn)制轉(zhuǎn)換間比較復(fù)雜的一種,也是與其他進(jìn)制轉(zhuǎn)換的基礎(chǔ)。這里把整數(shù)和小數(shù)轉(zhuǎn)換分開討論。

(1)整數(shù)的轉(zhuǎn)換

十進(jìn)制整數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù)的方法為“除基取余法”,即將被轉(zhuǎn)換的十進(jìn)制數(shù)用2連續(xù)整除,直至最后的商為0,然后將每次所得到的余數(shù)按相除過程反向排列,結(jié)果就是對應(yīng)的二進(jìn)制數(shù)。

【例1-2】將十進(jìn)制數(shù)102轉(zhuǎn)換為二進(jìn)制數(shù)。

所以,(102)10=(1100110)2

(2)小數(shù)的轉(zhuǎn)換

十進(jìn)制小數(shù)轉(zhuǎn)換為二進(jìn)制小數(shù)的方法為“乘基取整法”,即將十進(jìn)制數(shù)連續(xù)乘2得到進(jìn)位,按先后順序排列進(jìn)位就得到轉(zhuǎn)換后的二進(jìn)制小數(shù)。

【例1-3】將十進(jìn)制小數(shù)0.8125轉(zhuǎn)換為相應(yīng)的二進(jìn)制數(shù)。

所以,(0.8125)20=(0.1101)2

3.二進(jìn)制數(shù)與八進(jìn)制數(shù)的轉(zhuǎn)換

(1)二進(jìn)制數(shù)轉(zhuǎn)換為八進(jìn)制數(shù)

因?yàn)槎M(jìn)制數(shù)和八進(jìn)制數(shù)之間的關(guān)系正好是2的3次冪,所以二進(jìn)制數(shù)與八進(jìn)制數(shù)之間的轉(zhuǎn)換只要按位展開就可以了。

【例1-4】將二進(jìn)制數(shù)10101111.01101轉(zhuǎn)換為八進(jìn)制數(shù)。

以小數(shù)點(diǎn)為界,分別將3位二進(jìn)制對應(yīng)1位八進(jìn)制如下:

010 101 111 011 010 二進(jìn)制

 2 5 7 . 3 2 八進(jìn)制

所以,(10101111.01101)2=(257.32)8

注意

從小數(shù)點(diǎn)開始,往左為整數(shù),最高位不足3位的,可以在前面補(bǔ)0;往右為小數(shù),最低位不足3位的,必須在最低位后面補(bǔ)0。

(2)八進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)

按每1位八進(jìn)制對應(yīng)3位二進(jìn)制展開即得到對應(yīng)的二進(jìn)制數(shù)。

【例1-5】將八進(jìn)制數(shù)457.264轉(zhuǎn)換為二進(jìn)制數(shù)。

(457.264)8=(100 101 111 . 010 110 100)2

轉(zhuǎn)換后的二進(jìn)制最高位和最低位無效的0可以省略。

4.二進(jìn)制數(shù)和十六進(jìn)制數(shù)之間的轉(zhuǎn)換

(1)二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù)

轉(zhuǎn)換方法與前面所介紹的二進(jìn)制數(shù)轉(zhuǎn)換為八進(jìn)制數(shù)類似,唯一的區(qū)別是4位二進(jìn)制對應(yīng)1位十六進(jìn)制,而且十六進(jìn)制除了0~9這10個(gè)數(shù)符外,還用A~F表示它另外的6個(gè)數(shù)符。

【例1-6】將二進(jìn)制數(shù)111000111.00101轉(zhuǎn)換為十六進(jìn)制數(shù)。

0001  1100  0111 . 0110  1000 二進(jìn)制

 1   C    7  .  2   8  八進(jìn)制

從小數(shù)點(diǎn)開始,往左為整數(shù),最高位不足4位的,可以在前面補(bǔ)0;往右為小數(shù),最低位不足4位的,必須在最低位后面補(bǔ)0。所以,(111000111.00101)2=(1C7.28)16

(2)十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)

按每1位十六進(jìn)制對應(yīng)4位二進(jìn)制展開即得到對應(yīng)的二進(jìn)制數(shù)。

【例1-7】將十六進(jìn)制數(shù)5DF.6A轉(zhuǎn)換為二進(jìn)制數(shù)。

(5DF.6A)16=(0101 1101 1111.0110 1010)2

轉(zhuǎn)換后的二進(jìn)制最高位和最低位無效的0可以省略。

5.十進(jìn)制數(shù)與八進(jìn)制數(shù)、十六進(jìn)制數(shù)之間的相互轉(zhuǎn)換

按式(1-1)所給出的表達(dá)關(guān)系,可以將任意進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)。通常,十進(jìn)制和八進(jìn)制及十六進(jìn)制之間的轉(zhuǎn)換不需要直接進(jìn)行,可用二進(jìn)制作為中間量進(jìn)行相互轉(zhuǎn)換。如要將一個(gè)十進(jìn)制數(shù)轉(zhuǎn)換為相應(yīng)的十六進(jìn)制數(shù),可以先將十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù),然后直接根據(jù)二進(jìn)制數(shù)寫出對應(yīng)的十六進(jìn)制數(shù),反之亦然。表1-2-2列出了常用進(jìn)制之間的轉(zhuǎn)換。

表1-2-2 十進(jìn)制、二進(jìn)制、八進(jìn)制、十六進(jìn)制轉(zhuǎn)換表

主站蜘蛛池模板: 康乐县| 成安县| 穆棱市| 栾城县| 攀枝花市| 上高县| 玛曲县| 永济市| 烟台市| 色达县| 张家川| 安溪县| 云龙县| 库尔勒市| 濉溪县| 武邑县| 枣庄市| 长汀县| 柘城县| 兴仁县| 沙湾县| 正镶白旗| 奉贤区| 南宫市| 延长县| 高台县| 西林县| 新蔡县| 吴桥县| 日土县| 东光县| 广元市| 许昌市| 博客| 西充县| 兰西县| 久治县| 龙口市| 彩票| 陇西县| 上饶市|