許曉琪
摘 要:進制轉換是計算機專業學生必須掌握的基礎知識。中職學生學習基礎薄弱,在學習進制轉換上存在很大困難。如何解決學生這一學習上的困難?本文筆者作為一名計算機一線教師,將結合教學經驗,對比傳統進制轉換方法,以二進制與十進制之間的進制轉換為例,提出自己在教學中使用的行之有效的計算方法,與自己對教育教學的一點見解。
關鍵詞:二進制;十進制;進制轉換
計算機由千千萬萬個電子元器件(如電容、電感、二極管、三極管等)組成,這些電子元器件一般只有兩種穩定的狀態(如三極管的截止和導通),為了便于存儲和物理實現,采用用高、低兩個電位表示“1”和“0”的二進制數值或編碼。不論是數值、字符、圖形、圖像、聲音在計算機內部都是采用二進制來存儲和運算。用戶與計算機打交道并不直接使用二進制數,而是十進制,然后由計算機自動將十進制數轉換為二進制數。但是對于使用計算機的專業人員來說,了解進制數的特點以及它們之間的轉換是必要的。
1 傳統進制轉換方法
十進制數其加法規則是“逢十進一”,任意一個十進制數值都可用0、1、2、3、4、5、6、7、8、9共10個數字符號組成的字符串來表示,這些數字符號稱為數碼;數碼處于不同的位置代表不的數值。例如726可以寫成7x102+2x101+6x100,此式稱為按權展開表達式。
從十進制計數制的分析同理得出,任意R進制計數制同樣有基數N和Ri按權展開的表示式。R可以是任意正整數,如二進制數R為2;十六進制數R為16。
任意一個具有n位整數和m位小數的R進制數的按權展開為:
(N)R=dn-1×RN-1+dn-2×RN-2+…+d2×R2+d1×R1+d0×R0其中di為R進制的數碼。
非十進制數轉換成十進制數,利用按權展開“加權系數之和”的方法,如二進制轉換為十進制:1010 B=1 ×23+0 ×22+1 ×21+0 ×2 0=10。
十進制整數轉換成R進制整數,采用“除R取余”的方法。具體步驟是:把十進制整數除以R得一商數和一余數;將所得的商除以2,得到一個新的商數和余數;依此不斷用2去除所得的商數,直到商等于0為止。每次相除所得的余數即是對應的二進制整數的各位數碼。第一次得到的余數為最低有效位,最后得到的余數則為最高有效位。
傳統的進制轉換方法通用性強,對于數學基礎好的學生是一種非常科學的計算方法,但是對于數學基礎差、理解能力薄弱的中職生來說,卻猶如霧里看花。作為一名計算機教師,每年在教授學生進制轉換方法的過程中,總能明顯感覺到學生對教材中的進制轉換方法理解的困難——大部分學生完全不能理解繁瑣的數值轉換方法,要么生搬硬套轉換方法,死記硬背計算過程,只有少數學生能夠勉強掌握數值轉換方法。針對中職學生的實際情況,我認真分析學生情況,因材施教,教授學生采用最“笨拙”的方法進行計算。
2 “笨拙”的進制轉換方法
二進制顧名思義以2為權,位數從低到高分別代表20=1,21=2,22=4,23=8,24=16,25=32,……210=1024。學生能夠輕松掌握以2為底的冪計算,為后面進制轉換提供了計算基礎。二進制轉換為十進制依舊是求加權系數之和,我改變傳統的列式子的方法,利用畫表格進行計算,例如1010B轉換為十進制:
十進制數轉換為二進制數則是采用拆分法,解決學生對繁復的除權求余難以理解的問題。例如計算十進制數428轉換為二進制數:首先,學生在草稿紙上算出2的冪,從右往左寫,直到有冪值大于428:
其次,使用減法運算,將428完全拆分成2的冪的值,過程如下:
將428減去比它小的最大冪值256,即428-256=172。
將172減去比它小的最大冪值128,即172-128=44。
將44減去比它小的最大冪值32,即44-32=12。
將12減去比它小的最大冪值8,得4,完成拆分。
最后,被減的對應冪值為“1”,其它為“0”,得出428轉換為二進制數為1 1010 1100B。
在教學過程中,我使用這種方法教授學生理解解題思路,并且要求學生熟練2的冪的求值。學生在幾次練習后,掌握心算2的冪值,普遍能簡化計算過程,直接使用拆分法進行轉換,如下:
相比傳統的進制轉換方法這種計算的方式看似“笨拙”,但是以其直觀的方法幫助中職學生掌握二進制數和十進制數之間的轉換方法,學生教學效果明顯優于使用傳統的進制轉換法。其次,學生理解計算原理,在熟練計算過程后能夠省略冗余的步驟,計算速度明顯快于使用“除R求余”法。同時,學生能夠舉一反三,將這種笨方法用于其他進制(八進制與十六進制)和十進制之間的轉換計算。此外,學生理解、掌握一種計算方式后,再重新學習另外一種(傳統進制轉換法)顯得更容易理解、吃透方法。相比傳統的進制轉換方法,這種方法的不足之處是,當十進制數出現小數位時它便顯得捉襟見肘。
鄧小平說過:“不管白貓黑貓,會捉老鼠的就是好貓。”我教授學生使用的進制轉換方法雖然“笨拙”,但是能夠有效解決中職生在進制轉換上的困難,提高學生學習信心,激發學生學習動力,提高教學效果。在計算機專業教學中,我認為能有效解決問題的方法就是好方法,教學上要不拘一格,嘗試多種教學方法,不僅能教導學生也能提升自己,做到教學相長。
參考文獻
[1] 陳民, 吳婷. 計算機應用基礎練習冊[M]. 江蘇教育出版社, 2010.