進(jìn)制轉(zhuǎn)換及應(yīng)用

進(jìn)制轉(zhuǎn)換及應(yīng)用

ID:21737085

大小:903.50 KB

頁(yè)數(shù):11頁(yè)

時(shí)間:2018-10-24

進(jìn)制轉(zhuǎn)換及應(yīng)用_第1頁(yè)
進(jìn)制轉(zhuǎn)換及應(yīng)用_第2頁(yè)
進(jìn)制轉(zhuǎn)換及應(yīng)用_第3頁(yè)
進(jìn)制轉(zhuǎn)換及應(yīng)用_第4頁(yè)
進(jìn)制轉(zhuǎn)換及應(yīng)用_第5頁(yè)
資源描述:

《進(jìn)制轉(zhuǎn)換及應(yīng)用》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

1、Jsoi2008春季函授(B1)進(jìn)制轉(zhuǎn)換及應(yīng)用常州市第一中學(xué)林厚從一、引言計(jì)算機(jī)的一個(gè)重要理論基礎(chǔ)就是二進(jìn)制思想。任何信息最終都是以二進(jìn)制數(shù)的形式存儲(chǔ)在計(jì)算機(jī)中的,在計(jì)算機(jī)中有時(shí)還用到十六進(jìn)制和八進(jìn)制。所以,在實(shí)際應(yīng)用中,經(jīng)常需要將一個(gè)十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制、八進(jìn)制或十六進(jìn)制的數(shù),有時(shí)又需逆向轉(zhuǎn)換,將二進(jìn)制、八進(jìn)制或十六進(jìn)制的數(shù)轉(zhuǎn)換成十進(jìn)制數(shù),有時(shí)還需要在二進(jìn)制、八進(jìn)制和十六進(jìn)制數(shù)之間進(jìn)行相互轉(zhuǎn)換(2,8,10,16等一般稱為“基”)。不同進(jìn)制數(shù)之間轉(zhuǎn)換的基本算法是:(1)十進(jìn)制整數(shù)轉(zhuǎn)換成n進(jìn)制數(shù)的方法:將十進(jìn)制整數(shù)不斷除以n取余,最后反序輸出即可

2、。(2)n進(jìn)制數(shù)(整數(shù)、實(shí)數(shù)都可以)轉(zhuǎn)換成十進(jìn)制數(shù)方法:按“權(quán)n”展開(kāi),即表示成若干項(xiàng)形如ai*ni的累加和即可。(3)二進(jìn)制、八進(jìn)制、十六進(jìn)制之間的轉(zhuǎn)換方法:利用3位二進(jìn)制表示1位八進(jìn)制數(shù),4位二進(jìn)制數(shù)表示1位十六進(jìn)制數(shù)的基本思想,3位一段(或4位一段)分別轉(zhuǎn)換即可。注:一般2≤n≤16,十進(jìn)制以上、十六進(jìn)制以下的數(shù)制除了0~9十個(gè)字符外,還用到A、B、C、D、E、F幾個(gè)字符,分別表示10~15。對(duì)于十進(jìn)制,我們稱它的基數(shù)為10,而二進(jìn)制的基數(shù)就是2,十六進(jìn)制的基數(shù)就是16。對(duì)于十進(jìn)制數(shù)1234.56,我們可以表示成1*103+2*102+3*

3、101+4*100+5*10-1+6*10-2,我們把10i稱之為十進(jìn)制各個(gè)位的“權(quán)”。對(duì)于二進(jìn)制數(shù)11001.01001,我們也可以類(lèi)似地表示成1*24+1*23+1*20+1*2-2+1*2-5,即二進(jìn)制各個(gè)位的權(quán)為2i。這一方法(按權(quán)展開(kāi))同樣可以用在任意n進(jìn)制中。二、不同進(jìn)制數(shù)之間的相互轉(zhuǎn)換1、十進(jìn)制正整數(shù)轉(zhuǎn)換成任意n進(jìn)制數(shù)[方法介紹]就是模擬小學(xué)學(xué)過(guò)的除法運(yùn)算,比如要把十進(jìn)制整數(shù)39轉(zhuǎn)換成二進(jìn)制數(shù),則轉(zhuǎn)換方法如下左圖,即不斷除以2,直到商為0,再倒序輸出即可,結(jié)果一般表示為(39)10=(100111)2。而要把十進(jìn)制整數(shù)245轉(zhuǎn)換成八

4、進(jìn)制數(shù),方法一樣,只要不斷地除以8即可,如下右圖所示,結(jié)果可以表示為:(245)10=(365)8。一定要注意的是“倒序輸出”。圖1十進(jìn)制整數(shù)轉(zhuǎn)換成n進(jìn)制方法示意圖[算法描述]設(shè)十進(jìn)制數(shù)為Y,要轉(zhuǎn)換成n進(jìn)制,用數(shù)組a存放最后的轉(zhuǎn)換結(jié)果,i為數(shù)組下標(biāo),則算法描述如下: i:=0;重復(fù)做:     i:=i+1;     a[i]:=Y modn-11-Jsoi2008春季函授(B1)    ?。?=?。佟ivn直到Y=0為止。依次輸出最高位a[i]到最低位a[1]。[參考程序]將十進(jìn)制整數(shù)Y轉(zhuǎn)換成任意n進(jìn)制數(shù)(設(shè)n<10)。Programex1(

5、input,output);vara:array[1..100]ofinteger;n,y,i,j:longint;beginwrite('inputnumbery:');readln(y);write('inputnumbern:');readln(n);write('(',y,')10=','(');i:=0;repeati:=i+1;a[i]:=ymodn;y:=ydivn;untily=0;forj:=idownto1dowrite(a[j]);writeln(')',n);readlnend.[程序樣例]輸入:2458輸出:(245)1

6、0=(365)8[思考練習(xí)]如果n超過(guò)了10,比如要轉(zhuǎn)換成十六進(jìn)制數(shù),可以用字符A、B、C、D、E、F分別表示數(shù)10~15,轉(zhuǎn)換方法一樣,只要在輸出時(shí)把余數(shù)轉(zhuǎn)換為字符(A~F)即可。這個(gè)程序請(qǐng)大家完成。2、任意n進(jìn)制數(shù)(整數(shù)、實(shí)數(shù))轉(zhuǎn)換成十進(jìn)制數(shù)[方法介紹]我們知道一個(gè)十進(jìn)制數(shù)1234.56,按權(quán)展開(kāi)可以表示成1*103+2*102+3*101+4*100+5*10-1+6*10-2,同樣,對(duì)于任意n進(jìn)制數(shù)X,按權(quán)展開(kāi)的方法是:(1101.01)2=1*23+1*22+0*21+1*20+0*2-1+1*2-2=8+4+0+1+0+0.25=13

7、.25(165)8=1*82+6*81+5*80=64+48+5=117這兒計(jì)算出來(lái)的13.25和117就是(1101.01)2和(165)8所對(duì)應(yīng)的十進(jìn)制數(shù)。[參考程序]將任意n進(jìn)制整數(shù)X轉(zhuǎn)換成十進(jìn)制數(shù)(設(shè)n<10)。Programex2(input,output);-11-Jsoi2008春季函授(B1)constm=100;varstr:string;n,i,weight,total:longint;a:array[1..m]ofinteger;beginwrite('inputnumbern:');readln(n);write('inp

8、utnumberx:');readln(str);write('(',str,')',n,?'=(');fori:=1toLength(

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。