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

1.3.4 不同進(jìn)制數(shù)之間的轉(zhuǎn)換

用計(jì)算機(jī)處理十進(jìn)制數(shù),必須先把它轉(zhuǎn)換成二進(jìn)制數(shù)才能被計(jì)算機(jī)所接受。同理,計(jì)算結(jié)果應(yīng)將二進(jìn)制數(shù)轉(zhuǎn)換成人們習(xí)慣的十進(jìn)制數(shù)。如果用一個(gè)字節(jié)表示一個(gè)無(wú)符號(hào)整數(shù),其取值范圍是0~255(28-1);如表示一個(gè)有符號(hào)整數(shù),其取值范圍是-128~+127(-27~+27-1)。這就產(chǎn)生了不同進(jìn)制數(shù)之間的轉(zhuǎn)換問(wèn)題。

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

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

把一個(gè)十進(jìn)制整數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù)的方法是:把被轉(zhuǎn)換的十進(jìn)制整數(shù)反復(fù)地除以2,直到商為0,所得的余數(shù)(從末位讀起)就是這個(gè)數(shù)的二進(jìn)制表示。簡(jiǎn)單地說(shuō),就是“除2取余法”。

例如,將十進(jìn)制整數(shù)(215)10轉(zhuǎn)換成二進(jìn)制整數(shù)的方法如下:

于是,(215)10=(11010111)2

知識(shí)點(diǎn):了解了十進(jìn)制整數(shù)轉(zhuǎn)換成二進(jìn)制整數(shù)的方法后,那么了解十進(jìn)制整數(shù)轉(zhuǎn)換成八進(jìn)制或十六進(jìn)制就很容易了。十進(jìn)制整數(shù)轉(zhuǎn)換成八進(jìn)制整數(shù)的方法是“除8取余法”,十進(jìn)制整數(shù)轉(zhuǎn)換成十六進(jìn)制整數(shù)的方法是“除16取余法”。

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

十進(jìn)制小數(shù)轉(zhuǎn)換成二進(jìn)制小數(shù)是將十進(jìn)制小數(shù)連續(xù)乘以2,選取進(jìn)位整數(shù),直到滿足精度要求為止。簡(jiǎn)稱“乘2取整法”。

例如,將十進(jìn)制小數(shù)(0.6875)10轉(zhuǎn)換成二進(jìn)制小數(shù)的方法如下:

將十進(jìn)制小數(shù)0.6875連續(xù)乘以2,把每次所進(jìn)位的整數(shù),按從上往下的順序?qū)懗觥S谑牵?.6875)10=(0.1011)2

知識(shí)點(diǎn):了解了十進(jìn)制小數(shù)轉(zhuǎn)換成二進(jìn)制小數(shù)的方法后,那么了解十進(jìn)制小數(shù)轉(zhuǎn)換成八進(jìn)制小數(shù)或十六進(jìn)制小數(shù)就很容易了。十進(jìn)制小數(shù)轉(zhuǎn)換成八進(jìn)制小數(shù)的方法是“乘8取整法”,十進(jìn)制小數(shù)轉(zhuǎn)換成十六進(jìn)制小數(shù)的方法是“乘16取整法”。

(3)二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)

把二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)的方法是將二進(jìn)制數(shù)按權(quán)展開求和即可。例如,將(10011.101)2轉(zhuǎn)換成十進(jìn)制數(shù)的方法如下:

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

知識(shí)點(diǎn):非十進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)的方法是,把各個(gè)非十進(jìn)制數(shù)按權(quán)展開求和即可。即把二進(jìn)制數(shù)(或八進(jìn)制數(shù)或十六進(jìn)制數(shù))寫成2(或8或16)的各次冪之和的形式,然后再計(jì)算其結(jié)果。

提示

若在一個(gè)非零無(wú)符號(hào)二進(jìn)制整數(shù)的后面增加一個(gè)零,則該數(shù)是原來(lái)數(shù)的2倍,依此類推,所增長(zhǎng)的都是2的倍數(shù);同理,若將一個(gè)二進(jìn)制數(shù)末尾去掉一個(gè)零,則該數(shù)是原來(lái)數(shù)的1/2。

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

二進(jìn)制數(shù)與八進(jìn)制數(shù)之間的轉(zhuǎn)換十分簡(jiǎn)捷方便,它們之間的對(duì)應(yīng)關(guān)系是:八進(jìn)制數(shù)的每一位對(duì)應(yīng)二進(jìn)制數(shù)的3位。

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

由于二進(jìn)制數(shù)和八進(jìn)制數(shù)之間存在特殊關(guān)系,即81=23,因此轉(zhuǎn)換方法比較容易,具體轉(zhuǎn)換方法是將二進(jìn)制數(shù)從小數(shù)點(diǎn)開始,整數(shù)部分從右向左3位一組,小數(shù)部分從左向右3位一組,不足3位用0補(bǔ)足,每組對(duì)應(yīng)一位八進(jìn)制數(shù)即可。

例如,將(10110101110.11011)2轉(zhuǎn)換為八進(jìn)制數(shù)的方法如下:

于是,(10110101110.11011)2=(2656.66)8

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

以小數(shù)點(diǎn)為界,向左或向右每一位八進(jìn)制數(shù)用相應(yīng)的3位二進(jìn)制數(shù)取代,然后將其連在一起即可。

例如,將(6237.431)8轉(zhuǎn)換為二進(jìn)制數(shù)的方法如下:

于是,(6237.431)8=(110010011111.100011001)2

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

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

二進(jìn)制數(shù)的每4位,剛好對(duì)應(yīng)十六進(jìn)制數(shù)的一位,即161=24,其轉(zhuǎn)換方法是將二進(jìn)制數(shù)從小數(shù)點(diǎn)開始,整數(shù)部分從右向左4位一組,小數(shù)部分從左向右4位一組,不足4位用0補(bǔ)足,每組對(duì)應(yīng)一位十六進(jìn)制數(shù)即可得到十六進(jìn)制數(shù)。

例如,將二進(jìn)制數(shù)(101001010111.110110101)2轉(zhuǎn)換為十六進(jìn)制數(shù)。

于是,(101001010111.110110101)2=(A57.DA8)16

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

以小數(shù)點(diǎn)為界,向左或向右每一位十六進(jìn)制數(shù)用相應(yīng)的4位二進(jìn)制數(shù)取代,然后將其連在一起即可。

例如,將(AB.11)16轉(zhuǎn)換成二進(jìn)制數(shù)。

于是,(AB.11)16=(10101011.00010001)2

所以,各進(jìn)制之間可以通過(guò)以上方法直接進(jìn)行轉(zhuǎn)換,也可以借助二進(jìn)制作為橋梁來(lái)轉(zhuǎn)換。

主站蜘蛛池模板: 大石桥市| 清苑县| 武宁县| 洪洞县| 平和县| 江永县| 永定县| 大名县| 墨竹工卡县| 福海县| 青州市| 葵青区| 绩溪县| 威远县| 三台县| 桃园县| 黄石市| 万州区| 前郭尔| 玉树县| 福海县| 贵阳市| 沂水县| 高青县| 芜湖市| 南涧| 塘沽区| 汕头市| 公主岭市| 酉阳| 资中县| 安国市| 张家界市| 化隆| 淄博市| 定安县| 卢龙县| 冕宁县| 酒泉市| 南汇区| 金乡县|