海南軟件職業(yè)技術學院 王 晶
計算機教學中的進制轉換方法解析與應用
海南軟件職業(yè)技術學院 王 晶
進制在計算機課程教學中是一個非常重要的概念,初學者在學習時通常對進制的概念理解不深入,同時不能熟練的進行不同進制數(shù)的轉換,本文主要對二進制數(shù)與十進制數(shù)互換提供了幾種不同的計算方法,以便于學生在學習和各種考試中能夠快速的計算出結果。
進制 轉換 二進制 十進制 方法
在當今互聯(lián)網(wǎng)時代背景下,人們每天不斷的和各種信息進行互通和交流,信息拉近了人與人之間的距離并且也連通了整個世界。而這些信息可以概括為數(shù)據(jù)、文字、聲音、圖形和圖像幾種不同的形式。對于計算機來說,這些信息卻都是以二進制數(shù)進行存儲的。另外,在表示計算機內存地址時經常用到八進制數(shù)和十六進制數(shù)。但人們習慣使用十進制數(shù),對其它制數(shù)并不熟悉,因此不同進制數(shù)之間的轉換就顯得至關重要,尤其是二進制數(shù)與十進制數(shù)之間的轉換方法在計算機教學中作為重點。
進制是“進位計數(shù)制”的簡稱,是用一組固定的符號來表示數(shù)值的方法。計算機中常用的進制是二進制、八進制、十六進制和十進制數(shù)。其中,在各個進制中使用的不同符號的個數(shù)為基,進制中每一位所具有的值為位權。對于不同的進制數(shù)記作R進制,則基為R,位權是以為R底的冪。計算的規(guī)則是逢R進一,借一當R。需要注意的是二進制數(shù)使用“0”和“1”兩個符號來表示,八進制數(shù)使用“0、1、2、3、4、5、6、7”共八個符號來表示,而十六進制數(shù)使用“0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F”這十六個符號來表示。任何一個數(shù)值都可以使用不同的進制來表示,如十進制數(shù)20,二進制數(shù)表示為10100,八進制數(shù)為24,十六進制數(shù)為14,這四種進制數(shù)只是表示形式和使用場合不同,而數(shù)值大小是一樣的。
2.1按權展開法
將要轉換的二進制數(shù)從高位到低位按權展開進行多項式的求和。
該方法的優(yōu)點是容易理解,缺點是如果二進制數(shù)位數(shù)過多會導致展開的多項式較長。
例如將二進制數(shù)1011.0101轉換為十進制數(shù)。
(1011.0101)2=(1×23+0×22+1×21+1×20+0×2-1+1×2-2+0×2-3+1×2-4)10=(8+2+1+0.25+0.0625)10=(11.3125)10
2.2權值求和法
該方法通過2.1演變而來,需要創(chuàng)建一個權值查詢表。假設要轉換的二進制整數(shù)位為8位,小數(shù)位為4位,將每一位的權值計算出得到等比數(shù)列128、64、32、16、8、4、2、1、0.5、0.25、0.125、0.0625(該數(shù)列可根據(jù)整數(shù)和小數(shù)位數(shù)可靈活增減)記錄在表1中,然后按以下兩個步驟即可得出結果。
步驟1:將要轉換的二進制數(shù)的每一位和權值查詢表中的位相對應;
步驟2:將二進制為“1”的權值進行相加求和。
該方法的優(yōu)點是省去按權展開的麻煩,能夠提升計算速度,缺點是需要牢記以上提到的數(shù)列。
二進制數(shù)1011.0101與權值查詢表的對應關系如表2所示。
(1011.0101)2=(8+2+1+0.25+0.0625)10=(11.3125)10十進制數(shù)轉換為二進制數(shù)。
3.1除2取余乘2取整法
整數(shù):除2取余法。即使用該十進制數(shù)依次除以2取余數(shù)(必定為0或1),直至商為0停止運算,得出的余數(shù)由下向上寫出即為十進制整數(shù)部分的二進制數(shù)。
小數(shù):乘2取整法。即使用該十進制數(shù)乘以2,取得積的整數(shù)部分(必定為0或1),用剩余的小數(shù)繼續(xù)乘以2取得積的整數(shù)部分,直到積為0.0停止運算,最先取到的整數(shù)為小數(shù)的高位,以此類推,得到十進制小數(shù)的二進制數(shù)。如果進行多次乘法后積都不為0.0,需要按所需精度進行舍入處理。
例如將十進制數(shù)156.6875轉換成二進制數(shù)。
將整數(shù)156和小數(shù)0.6875轉換分別為二進制數(shù)過程如下:
將整數(shù)和小數(shù)合并得出(156.6875)10=(10011100.1011)2。
該方法的優(yōu)點是容易理解,缺點是整數(shù)和小數(shù)要使用不同的計算方法而且過程相當繁瑣。
3.2權值循環(huán)分解法
步驟1:從表1最左邊的數(shù)據(jù)(首次為128,否則為查找之后的數(shù)據(jù))開始進行查找,找到第一個小于當前正在判斷的數(shù)據(jù),將十進制數(shù)據(jù)寫成表中已找到的數(shù)據(jù)與另一個數(shù)據(jù)之和;
步驟2:判斷步驟1中的另一個數(shù)據(jù)是否是表1中的數(shù)據(jù),如果是則停止相加運算,否則重復步驟1,直到相加的兩個數(shù)據(jù)都是表1中的數(shù)據(jù)。
步驟3:找到步驟1和步驟2使用到的全部在表1中的數(shù)據(jù),將其對應的二進制位寫1,其它位寫0;
根據(jù)以上步驟將十進制數(shù)156.6875轉換成二進制數(shù)計算過程如下:
表1 權值查詢表
表2 二—十進制權值對照表
156=128+28;
28=16+12;
12=8+4(8、4都是表1中的數(shù)據(jù),停止運算);
0.6875=0.5+0.1875;
0.1875=0.125+0.0625(0.125、0.0625都是表1中的數(shù)據(jù),停止運算);
經查表128、16、8、4、0.5、0.125、0.0625對應二進制位B7B4B3B2B-1B-3B-4,該二進制數(shù)位均為1,其它位為0,即(156.6875)10=(10011100.1011)2。
該方法的優(yōu)點是完全能夠克服3.1中的缺點提高計算效率,缺點是需要理解并記憶以上3個步驟。
本文對二進制數(shù)和十進制數(shù)的互相轉換給出了兩種計算方法,同時給出了各自的優(yōu)缺點,2.1和3.1作為最基本的方法一般在教材中都有介紹,2.2和3.2在前者的基礎上進行了總結和改進,而這里最為關鍵的是要牢記權值查詢表,反復練習后發(fā)現(xiàn)使用2.2和3.2中
提到的方法能夠很大程度提高解題效率,起到事半功倍的效果。
[1] 張鈞良,林雪明.計算機組成原理[M].第3版.北京:電子工業(yè)出版社,2010.
[2]馬新文.分析進制轉換在計算機應用中的技巧[J].中國電子商務, 2013(1).
[3]羅少甫,董明.計算機應用基礎中進制轉換的教學方法探討[J].重慶航天職業(yè)技術學院學報, 2015(4).
[4]田祖?zhèn)ィ瑢O光,楊素萍.計算機進制轉換的快速方法及應用[J].電腦編程技巧與維護, 2008(17).
[5]石元聆.進制轉換教學設計[J].計算機時代, 2015(11).
[6]張玉彤.淺析進制轉換在計算機應用中的技巧[J].數(shù)字技術與應用,2011(7).
王晶(1984-),女,陜西西安人,碩士學位,現(xiàn)為海南軟件職業(yè)技術學院軟件工程系教師,主要研究方向:軟件開發(fā)。