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商時結(jié)束2除步,回寫(從高位回到低位)余數(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時,得準(zhǔn)確二進(jìn)制純小數(shù);否則(純小數(shù)位永遠(yuǎn)被2乘不為全是0)只能化成滿足某一精確度要求的二進(jìn)制小數(shù)的近似值。例中(0.625)10=(0.101)2是準(zhǔn)確值,其中101是順寫的積整位(從高位到低位)數(shù)。
⑴二進(jìn)制數(shù)轉(zhuǎn)換成八進(jìn)制數(shù)(三位分組轉(zhuǎn)換法,即合三為一法)
[例]將二進(jìn)制數(shù)11010001011.11011用三位分組轉(zhuǎn)換的方法轉(zhuǎn)換成八進(jìn)制數(shù)。
①從小數(shù)點起對整數(shù)位向左,對小數(shù)位向右三位分一組,不足三位時,在最外端加補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
所以這樣做,是因為八進(jìn)制數(shù)的不同數(shù)字恰是8個三位二進(jìn)制數(shù)。
⑵八進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)
將八進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)時,正是上述方法的逆(一分為三法)。只是注意要在轉(zhuǎn)換成二進(jìn)制數(shù)后,將相當(dāng)于被加補的0位上的那些0略去,這些0在二進(jìn)制記數(shù)中是可有可無的,它們并不影響記數(shù)值。
[例](3213.66)8=(011 010 001 011.110 110)2=(11010001011.11011)2
八進(jìn)制數(shù)與十進(jìn)制數(shù)之間的轉(zhuǎn)換,我們至少可以這樣做:
①通過二進(jìn)制數(shù)作中間過渡,將它們互轉(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)換的方法完全相同,對基16操作起來也很容易,這里就不再贅述了。
需要強調(diào)的是:計算機能夠處理的任何信息,其數(shù)據(jù)形式在計算機內(nèi)部都以0和1的方式進(jìn)行存儲。任何信息要想存入計算機,都必須經(jīng)過一個轉(zhuǎn)換裝置,先把計算機要處理的信息轉(zhuǎn)換成僅由0和1組成的二進(jìn)制代碼之后再存入計算機。要把存儲于計算機內(nèi)的各種信息輸出來,也必須再經(jīng)過轉(zhuǎn)換裝置把二進(jìn)制信息轉(zhuǎn)換成人們所熟悉的和常用的符號。這些工作是由計算機自動完成的,并不需要用戶干預(yù)。
計算機所能處理和存儲的信息是大量的,其軟件系統(tǒng)要適應(yīng)發(fā)展的需要,對表示信息的二進(jìn)制數(shù)碼(代碼)必須進(jìn)行統(tǒng)一的編碼,以保證計算機的通用性,否則就會造成在互換和交流時的混亂。
通常,將十進(jìn)制數(shù)字、英文字母和一些專用符號等數(shù)據(jù)都用一定長度的二進(jìn)制數(shù)來表示,稱作編碼;用編碼表示的數(shù)據(jù)就稱代碼。使用計算機時,程序、控制命令、數(shù)據(jù)等在其內(nèi)部(機器級上)一律都用代碼?,F(xiàn)在,已有許多種編碼方法,但被普遍使用的是下述的幾種方法。2. 二進(jìn)制數(shù)與八進(jìn)制數(shù)之間的轉(zhuǎn)換
3. 二進(jìn)制數(shù)與十六進(jìn)制數(shù)之間的轉(zhuǎn)換