袁禮+韓慶生+張麗娟
摘要:數制轉換的方法和技巧是計算機基礎、網絡教學課程中一個重要的教學內容。本文介紹了一種加減法實現數制轉換的簡易算法,力求在教學實踐中取得良好的教學效果。
關鍵詞:數制;數制轉換;IP規(guī)劃
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2017)20-0220-02
數制及其轉換是計算機應用基礎教學的難點,目前在大多數教材中,有關十進制到二進制轉換的方法,整數部分采用的是“除2取余法”,小數部分采用的是“乘2取整法”,但是這兩種方法計算相對繁雜,容易出錯,而采用加減法來實現十進制到二進制的轉換,則相對簡單易懂。
一、數制轉換的基本原理
數制是人們用一組統(tǒng)一規(guī)定的符號和規(guī)則來表示數的方法。
基數是一個計數制所包含的數字符號的個數。例如,十進制的基數為10,有10個數字符號:0、1、2、3、4、5、6、7、8、9,逢10進一;二進制的基數為2,有2個數字符號:0、1,逄2進一。
在數制中,各個數字所表示值的大小不僅與該數字本身的大小有關,還與該數字所在的位置有關,這種關系稱為數的位權。在十進制中的個位、十位、百位分別對應的位權為10■、10■、10■。例如:二進制轉化為十進制:(10010.011)■=1×2■+0×2■+0×2■+1×2■+0×2■+0×2-1+1×2-2+1×2-3=(18.375)10
可以看出二進制比十進制簡單,因為1乘以任何數不變,等于其位權值,而0乘以任何數都等于0,所以上面的式子可以簡單的表示為:(10010.011)■=2■+2■+
2■+2■=8+2+0.25+0.125=(18.375)10
二、數制轉換的特點分析
以小數點為界,下面把二進制每個位的位權值以十進制表示,因為通常手工計算一般在8位以內,小數部分一般不超過4位,當然可以根據精度選取更多位。如特殊值2■=256、2■=512、2■=1024等,需要注意的是8位二進制數2■=256表示的值不是1—256,而是0—255,下面將2進制轉換為十進制列成表格。
三、簡易算法
用加減法完成十進制到二進制的轉換我們簡稱為簡易算法,下表中,表格中的第一行為十進制數,表格中的第二行為轉換后的二進制數。例如十進制:137.725。
1.整數部分轉換為二進制。
137>128,所以128的二進制對應數碼標記為1;
137-128=9>8,所以8的二進制對應數碼標記為1;
9-8=1,所以1的二進制對應數碼標記為1;
其余為:0。
2.小數部分。
0.725>0.5,所以小數點右第一個二進制對應數碼為1;
0.725-0.5=0.225<0.25,所以小數點右第二個二進制對應數碼為0;
0.225>0.125,0.225-0.125=0.1,所以小數點右第三個二進制對應數碼為1;
0.1>0.0625,所以小數點右第四個二進制對應數碼為1。
3.簡易算法的擴展。
有了以上知識,可以看出二進制有如下特點:每一個位權等于它右邊的所有的位權加1。如:16其右邊的所有位權(全為1)之和為15,32其右邊的所有位權(全為1)之和為31。下面再研究一下左邊全為1的情況,并增加新的一行表格來簡化大于128—255區(qū)間的計算,如下圖:192=128+64表示二進制左邊兩個最高位權為1,224=128+64+32表示二進制左邊三個最高位權為1,以此類推255=128+64+32+16+8+4+2+1表示所有的二進制位從最高位到最低位的值為1。記憶這些特殊位權可以方便計算,當十進制的值大于128時,那么從表格的第一行可以直接確認從最左邊的最高位有幾個1。例如:250轉換為2進制數。
判斷:248<250<252,大于128從表格第一行判斷248左邊的二進制高位全部記為1;250-248=2,小于128從表格第二行判斷2的二進制對應數碼記為1,其余為0。
四、簡易算法在IP規(guī)劃中的應用
IP地址=網絡地址+主機地址,或者IP地址=主機地址+子網地址+主機地址。
以C類192.168.1.0為例,劃分子網,假設借用三個主機位,子網掩碼255.255.255.224(/27),請判斷有多少個子網?每個子網的主機數是多少?可用的IP地址有哪些?
判斷子網數:由于借用三位23=8,所以可以產生8個子網。
判斷每個子網的主機數:由于只剩5位做主機位,所以每個子網的主機數為25-2=30,減2是因為每個子網的起始地址全0(子網網絡號)和最后一個全1(子網的廣播地址)的地址不能分配作為主機地址。
每個子網的起始地址:主要由左邊3個借位確定,可用主機IP由右邊5位確定,詳見下表。
五、結語
從以上例子可以看出,靈活掌握和運用十進制到二進制的轉換,能簡化計算,起到事半功倍的作用。同時,這種直觀的啟發(fā)式教學,讓學生更容易理解和接受,并減少了錯誤的發(fā)生。
參考文獻:
[1]莫小梅.《大學計算機基礎》課程中關于數制轉換的教學探討[J].電腦知識與技術,2010,(33):9561-9563.
[2]袁立東.計算機中數制轉換教學設計[J].硅谷,2011,(01):86.
[3]陳振威,任琴.淺談數制轉換技巧[J].科技信息(學術研究),2007,(28):102-103.