1. 二進(jìn)制數(shù)與十進(jìn)制數(shù)之間的轉(zhuǎn)換
⑴二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)
[例](11111001001)2=1×210+1×29+1×28+1×27+1×26+0×25+0×24
+1×23+0×22+0×21+1×20
=(1993)10
(1011.101)2=1×23+0×22+1×21+1×20+1×2-1+0×2-2+1×2-3 =(11.625)10
⑵十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)
①十進(jìn)制整數(shù)轉(zhuǎn)換成二進(jìn)制整數(shù)(除基(2)取余法)
[例]
2 1993
2 996 …………1…………0位 低位二進(jìn)制整數(shù)
2 498 …………0…………1位
2 249 …………0…………2位
2 124 …………1…………3位
2 62 …………0…………4位
2 31 …………0…………5位
2 15 …………1…………6位
2 7 …………1…………7位
2 3 …………1…………8位
2 1 …………1…………9位
0 …………1…………10位 高位二進(jìn)制整數(shù)
注意,除到0商時(shí)結(jié)束2除步,回寫(xiě)(從高位回到低位)余數(shù)便是所求二進(jìn)制數(shù),即:(1993)10=(11111001001)2
②十進(jìn)制純小數(shù)轉(zhuǎn)換成二進(jìn)制純小數(shù)(乘基(2)取整法)
[例]
0.625
2
2-1位… 1. 250 高位二進(jìn)制小數(shù)
2
2-2位… 0. 500
2
2-3位 1.000 低位二進(jìn)制小數(shù)
純小數(shù)位被全乘為0時(shí),得準(zhǔn)確二進(jìn)制純小數(shù);否則(純小數(shù)位永遠(yuǎn)被2乘不為全是0)只能化成滿(mǎn)足某一精確度要求的二進(jìn)制小數(shù)的近似值。例中(0.625)10=(0.101)2是準(zhǔn)確值,其中101是順寫(xiě)的積整位(從高位到低位)數(shù)。
⑴二進(jìn)制數(shù)轉(zhuǎn)換成八進(jìn)制數(shù)(三位分組轉(zhuǎn)換法,即合三為一法)
[例]將二進(jìn)制數(shù)11010001011.11011用三位分組轉(zhuǎn)換的方法轉(zhuǎn)換成八進(jìn)制數(shù)。
①?gòu)男?shù)點(diǎn)起對(duì)整數(shù)位向左,對(duì)小數(shù)位向右三位分一組,不足三位時(shí),在最外端加補(bǔ)0位,使之都成為三位:
(填入0位)0→011 010 001 011.110 110←0(填入0位)
②將三位一組二進(jìn)制數(shù)分別轉(zhuǎn)換成八進(jìn)制數(shù),并按原位置次序?qū)懗尚碌挠洈?shù)數(shù),即得與原數(shù)等值的八進(jìn)制數(shù):3213.66
③從而有:(11010001011.11011)2=(3213.66)8
所以這樣做,是因?yàn)榘诉M(jìn)制數(shù)的不同數(shù)字恰是8個(gè)三位二進(jìn)制數(shù)。
⑵八進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)
將八進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)時(shí),正是上述方法的逆(一分為三法)。只是注意要在轉(zhuǎn)換成二進(jìn)制數(shù)后,將相當(dāng)于被加補(bǔ)的0位上的那些0略去,這些0在二進(jìn)制記數(shù)中是可有可無(wú)的,它們并不影響記數(shù)值。
[例](3213.66)8=(011 010 001 011.110 110)2=(11010001011.11011)2
八進(jìn)制數(shù)與十進(jìn)制數(shù)之間的轉(zhuǎn)換,我們至少可以這樣做:
①通過(guò)二進(jìn)制數(shù)作中間過(guò)渡,將它們互轉(zhuǎn):
(17)10=(10001)2=(010 001)2=(21)8
②用“除基(8)取余法”將十進(jìn)制整數(shù)轉(zhuǎn)換成八進(jìn)制整數(shù),用“乘基(8)取整法“將十進(jìn)制純小數(shù)轉(zhuǎn)換成八進(jìn)制純小數(shù);至于將八進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù),只要“按位乘基冪”即可:
[例] ①由 8 17 ②∵ 0.6875
8
8 2……1(低位) (高位) 5. 500
0 8
……2(高位) (低位) 4.0000
得(17)10=(21)8 ∴(0.6875)10=(0.54)8
③于是,(17.6875)10=(21.54)8
④而(21.54)8=2×81+1×80+5×8-1+4×8-2(按位乘基冪)
=16+1+5×0.125+4×0.015625=(17.6875)10
⑴二進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù)(四位分組轉(zhuǎn)換法,即合四為一法)
[例](101101111100011.110101111)2=(0101 1011 1110 0011.1101 0111 1000)2
=(5BE3.D78)16
⑵十六進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)(四位分組轉(zhuǎn)換法的逆方法,即一分為四法)
[例](5BE3.D78)16=(0101 1011 1110 0011.1101 0111 1000)2
=(101101111100011.110101111)2
十六進(jìn)制數(shù)與十進(jìn)制數(shù)之間的轉(zhuǎn)換和八進(jìn)制數(shù)與十進(jìn)制數(shù)之間的轉(zhuǎn)換的方法完全相同,對(duì)基16操作起來(lái)也很容易,這里就不再贅述了。
需要強(qiáng)調(diào)的是:計(jì)算機(jī)能夠處理的任何信息,其數(shù)據(jù)形式在計(jì)算機(jī)內(nèi)部都以0和1的方式進(jìn)行存儲(chǔ)。任何信息要想存入計(jì)算機(jī),都必須經(jīng)過(guò)一個(gè)轉(zhuǎn)換裝置,先把計(jì)算機(jī)要處理的信息轉(zhuǎn)換成僅由0和1組成的二進(jìn)制代碼之后再存入計(jì)算機(jī)。要把存儲(chǔ)于計(jì)算機(jī)內(nèi)的各種信息輸出來(lái),也必須再經(jīng)過(guò)轉(zhuǎn)換裝置把二進(jìn)制信息轉(zhuǎn)換成人們所熟悉的和常用的符號(hào)。這些工作是由計(jì)算機(jī)自動(dòng)完成的,并不需要用戶(hù)干預(yù)。
計(jì)算機(jī)所能處理和存儲(chǔ)的信息是大量的,其軟件系統(tǒng)要適應(yīng)發(fā)展的需要,對(duì)表示信息的二進(jìn)制數(shù)碼(代碼)必須進(jìn)行統(tǒng)一的編碼,以保證計(jì)算機(jī)的通用性,否則就會(huì)造成在互換和交流時(shí)的混亂。
通常,將十進(jìn)制數(shù)字、英文字母和一些專(zhuān)用符號(hào)等數(shù)據(jù)都用一定長(zhǎng)度的二進(jìn)制數(shù)來(lái)表示,稱(chēng)作編碼;用編碼表示的數(shù)據(jù)就稱(chēng)代碼。使用計(jì)算機(jī)時(shí),程序、控制命令、數(shù)據(jù)等在其內(nèi)部(機(jī)器級(jí)上)一律都用代碼。現(xiàn)在,已有許多種編碼方法,但被普遍使用的是下述的幾種方法。2. 二進(jìn)制數(shù)與八進(jìn)制數(shù)之間的轉(zhuǎn)換
3. 二進(jìn)制數(shù)與十六進(jìn)制數(shù)之間的轉(zhuǎn)換