算法案例(進位制)-課件_第1頁
算法案例(進位制)-課件_第2頁
算法案例(進位制)-課件_第3頁
算法案例(進位制)-課件_第4頁
算法案例(進位制)-課件_第5頁
已閱讀5頁,還剩16頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

進位制算法案例(第三課時)一、進位制1、什么是進位制?進位制是人們為了計數和運算方便而約定的記數系統。進位制是一種記數方式,用有限的數字在不同的位置表示不同的數值??墒褂脭底址柕膫€數稱為基數,基數為n,即可稱n進位制,簡稱n進制。新課講解:

比如:

滿二進一,就是二進制;

滿十進一,就是十進制;滿十二進一,就是十二進制;

滿六十進一,就是六十進制基數:“滿幾進一”就是幾進制,幾進制的基數就是幾.2、最常見的進位制是什么?最常見的進位制應該是我們數學中的十進制,比如一般的數值計算,但是并不是生活中的每一種數字都是十進制的.古人有半斤八兩之說,就是十六進制與十進制的轉換.比如時間和角度的單位用六十進位制,計算“一打”數值時是12進制的。電子計算機用的是二進制。

式中1處在百位,第一個3所在十位,第二個3所在個位,5和9分別處在十分位和百分位。十進制數是逢十進一的。

我們最常用最熟悉的就是十進制數,它的數值部分是十個不同的數字符號0,1,2,3,4,5,6,7,8,9來表示的。十進制:例如133.59,它可用一個多項式來表示:133.59=1*102+3*101+3*100+5*10-1+9*10-2

實際上,十進制數只是計數法中的一種,但它不是唯一記數法。除了十進制數,生產生活中還會遇到非十進制的記數制。如時間:60秒為1分,60分為1小時,它是六十進制的。兩根筷子一雙,兩只手套為一副,它們是二進制的。其它進制:

二進制、七進制、八進制、十二進制、六十進制……二進制只有0和1兩個數字,七進制用0~6七個數字十六進制有0~9十個數字及ABCDEF六個字母.

為了區分不同的進位制,常在數的右下角標明基數,十進制一般不標注基數.例如十進制的133.59,寫成133.59(10)七進制的13,寫成13(7);二進制的10,寫成10(2)

一般地,若k是一個大于1的整數,那么以k為基數的k進制可以表示為一串數字連寫在一起的形式:A3、十進制的構成十進制由兩個部分構成例如:3721其它進位制的數又是如何的呢?第一、它有0~9十個數字;第二、它有“數位”,即從右往左為個位、十位、百位、千位等等。表示有:1個1,2個十,7個百即7個10的平方,3個千即3個10的立方十進制:“滿十進一”探究:P40其它進制數化成十進制數公式二、二進制二進制是用0、1兩個數字來描述的.如11001二進制的表示方法區分的寫法:11001(2)或者(11001)2八進制呢?如7342(8)k進制呢?anan-1an-2…a1(k)?三、二進制與十進制的轉換1、二進制數轉化為十進制數例1:將二進制數110011(2)化成十進制數。解:根據進位制的定義可知所以,110011(2)=51.其它進制數化成十進制數公式1、將下面的二進制數化為十進制數?(1)11(2)110練習2、把其他進位制的數化為十進制數的公式是什么?例2、設計一個算法,將k進制數a(共有n位)轉換為十進制數b。(1)算法步驟:第一步,輸入a,k和n的值;第二步,將b的值初始化為0,i的值初始化為1;第三步,b=b+ai*ki-1,i=i+1第四步,判斷i>n是否成立.若是,則執行第五步,否則,返回第三步;第五步,輸出b的值.(2)程序框圖:開始輸入a,k,nb=0i=1把a的右數第i位數字賦給tb=b+t*ki-1i=i+1i>n?否是輸出b結束INPUT“a,k,n=”;a,k,nb=0i=1t=aMOD10DOb=b+t*k^(i-1)a=a\10t=aMOD10i=i+1LOOPUNTILi>nPRINTbEND(3)程序:方法:除2取余法,即用2連續去除89或所得的商,然后取余數。例、把89化為二進制數解:根據“逢二進一”的原則,有89=2×44+1=2×

(2×22+0)+1=2×(2×(2×11+0)+0)+1=2×(2×(2×

(2×5+1)+0)+0)+15=2×2+1=2×(2×(2×(2×(22+1)+1)+0)+0)+189=1×26+0×25+1×24+1×23+0×22+0×21+1×20所以:89=1011001(2)=2×(2×(2×(23+2+1)+0)+0)+1=2×(2×(24+22+2+0)+0)+1=2×(25+23+22+0+0)+1=26+24+23+0+0+2089=2×44+144=2×22+022=2×11+011=2×

5+1=2×(2×(2×(2×

(2×2+1)+1)+0)+0)+1所以89=2×(2×(2×(2×(2×2+1)+1)+0)+0)+12、十進制轉換為二進制注意:1.最后一步商為0,2.將上式各步所得的余數從下到上排列,得到:

89=1011001(2)另解(除2取余法的另一直觀寫法):522212010余數11224489222201101練習將下面的十進制數化為二進制數?(1)10(2)20例1:把89化為五進制數。3、十進制轉換為其它進制解:根據除k取余法以5作為除數,相應的除法算式為:所以,89=324(5)895175350423余數例2、設計一個程序,實現“除k取余法”。(1)、算法步驟:第一步,給定十進制正整數a和轉化后的數的基數k;第二步,求出a除以k所得的商q,余數r;第三步,若q0,則a=q,返回第二步;否則,執行第四步;第四步,將依次得到的余數從右到左排列,得到k進制數。(2)程序框圖:開始輸入a,k

求a除以k的商q

求a除以k的余數rq=0?是否a=q輸出全部余數r排列得到的k進制數結束把所得的余數依次從右到左排列(3)程序:INPUT“a,k=”;a,kb=0i=0DOq=a\kr=aMODkb=b+r*10^ii=i+1a=qLOOPUNTILq=0PRINTbEND練習:完成下列進位制之間的轉化:(1)10231(4)=(10);(2)235(7)=(10);(3)137(10)=(6);(4)1231(5)=(7);(5)213(4)=(3);(6)1010111(2)=(4)。1.進位制是一種記數方式,用有限的數字在不同的位置表示不同的數值??墒褂脭底址柕膫€數稱為基數,基數為k,即可稱k進位制,簡稱k

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論