- 計(jì)算機(jī)應(yīng)用基礎(chǔ)教程
- 廖柳青 劉怡然
- 1491字
- 2019-10-14 11:28:25
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)換。
- The Supervised Learning Workshop
- Beginning Java Data Structures and Algorithms
- 數(shù)據(jù)庫(kù)原理及應(yīng)用(Access版)第3版
- 動(dòng)手玩轉(zhuǎn)Scratch3.0編程:人工智能科創(chuàng)教育指南
- Full-Stack Vue.js 2 and Laravel 5
- The Data Visualization Workshop
- 3D少兒游戲編程(原書第2版)
- 小學(xué)生C++創(chuàng)意編程(視頻教學(xué)版)
- Learning Salesforce Einstein
- C語(yǔ)言課程設(shè)計(jì)
- UML 基礎(chǔ)與 Rose 建模案例(第3版)
- C#開發(fā)案例精粹
- Scala Data Analysis Cookbook
- Java程序設(shè)計(jì)教程
- Drupal 8 Development:Beginner's Guide(Second Edition)