李智遠(yuǎn)
摘要:進(jìn)制之間轉(zhuǎn)換,是大中專院校學(xué)生必須掌握的基本知識。在實際工作教學(xué)中,發(fā)現(xiàn)很多學(xué)生不能夠很好的運(yùn)用進(jìn)制之間的轉(zhuǎn)換口訣或算法,從而造成解題混亂甚至錯誤。下面我們通過對二、八、十、十六四種進(jìn)制之間的一般轉(zhuǎn)換方法和特殊轉(zhuǎn)換算法進(jìn)行詳細(xì)的探討。相信閱讀此篇文章后可以幫助大家快速、輕松的進(jìn)行各種進(jìn)制之間的相互轉(zhuǎn)換。
關(guān)鍵詞:進(jìn)制;口訣;421;8421
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)04-0109-02
以下四段為預(yù)備知識,務(wù)請事先熟練掌握:
D:Decimal,十進(jìn)制,十進(jìn)制的基本數(shù)符有10個:0、1、2、3、4、5、6、7、8、9;加法口訣:逢十進(jìn)一;減法口訣:借一當(dāng)十。
B:Binary,二進(jìn)制,二進(jìn)制的基本數(shù)符有2個:0、1;加法口訣:逢二進(jìn)一;減法口訣:借一當(dāng)二。
O:Octal,八進(jìn)制,八進(jìn)制的基本數(shù)符有8個:0、1、2、3、4、5、6、7;加法口訣:逢八進(jìn)一;減法口訣:借一當(dāng)八。[注:字母“O”和數(shù)字“0”容易混淆,故書寫時一般使用字母Q表示八進(jìn)制]
H:Hexadecimal,十六進(jìn)制,十六進(jìn)制的基本數(shù)符有16個:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F;加法口訣:逢十六進(jìn)一;減法口訣:借一當(dāng)十六。
1 所有進(jìn)制數(shù)向十進(jìn)制數(shù)的轉(zhuǎn)換(即R→D)[R:表示任意某種進(jìn)制數(shù)]
其轉(zhuǎn)換口訣是:位權(quán)相加法(即:拿各個數(shù)位上的數(shù)符乘上各個數(shù)位上對應(yīng)的權(quán),然后累加求和即可)。 比如:二進(jìn)制實數(shù)101011.101B向十進(jìn)制實數(shù)轉(zhuǎn)換:
101011.101B=1×25+1×23+1×21+1×20+1×2-1+1×2-3=32+8+2+1+0.5+0.125=43.625D[提示:①二進(jìn)制小數(shù)點右側(cè)數(shù)位上的權(quán)從左往右依次是:2-1,2-2,2-3,…;②二進(jìn)制小數(shù)點左側(cè)數(shù)位上的權(quán)從右往左依次是:20,21,22,…。]
再比如:八進(jìn)制實數(shù)173.2Q向十進(jìn)制實數(shù)轉(zhuǎn)換:
173.2Q=1×82+7×81+3×80+2×8-1=64+56+3+0.25=123.25D。
再比如:十六進(jìn)制實數(shù)2BC.8H向十進(jìn)制實數(shù)轉(zhuǎn)換:
2BC.8H=2×162+11×161+12×160+8×16-1=512+176+12+0.5=700.5D。
請讀者自行思考以下三個問題:①(11111111)2=(?)10②(32)12=(?)10③(FFFF)16=(?)10[提示:①③項可采用“先加1再減1的方法”比較簡單]
2 十進(jìn)制數(shù)向其他所有進(jìn)制數(shù)的轉(zhuǎn)換(即D→R)
遇到這類問題,首先考慮的是:這個需要轉(zhuǎn)換的十進(jìn)制數(shù)是純整數(shù)?還是純小數(shù)?還是帶有小數(shù)點的實數(shù)?因為十進(jìn)制整數(shù)向R進(jìn)制整數(shù)轉(zhuǎn)換的口訣是“除R取余、直到商為0、逆序輸出法(即由下到上輸出)”;而十進(jìn)制純小數(shù)向R進(jìn)制純小數(shù)轉(zhuǎn)換的口訣是“乘R取整、直到積為0或達(dá)到精確度要求、正序輸出法(即由上到下輸出)”。比如:如何將十進(jìn)制實數(shù)43.625轉(zhuǎn)換成二進(jìn)制數(shù)、八進(jìn)制數(shù)、十六進(jìn)制數(shù)?
經(jīng)過分析,43.625是個實數(shù),需要分兩步驟做,先轉(zhuǎn)換整數(shù)部分,再轉(zhuǎn)換小數(shù)部分,最后合并即可得到最終結(jié)果。43.625向二進(jìn)制轉(zhuǎn)換的過程如下列表格所示:
自此,讀者可自行計算出43.625D的等值八進(jìn)制數(shù)是:53.5Q;等值的十進(jìn)制數(shù)是:2B.AH。
此處,我們介紹一種可以快速“將十進(jìn)制整數(shù)向二進(jìn)制整數(shù)”轉(zhuǎn)換的方法:例如:200D=?B,我們可以將200拆成:128+64+8;然后直接寫出200的等值二進(jìn)制數(shù):11001000B。[提示:拆分時,一定要拆成2的整數(shù)次冪的累加和,先觀察比200小的、一個2的整數(shù)次冪,很顯然是27,即128;然后再加上128的一半64,看看128+64有沒有大于200;若大于200,再讓128加上64的一半32,再試一試,以此類推!]在書寫等值二進(jìn)制數(shù)結(jié)果的時候:先寫出一個1(代表拆分出來的128),然后觀察128的一半64有沒有,若有就在1的右側(cè)寫一個1,若沒有出現(xiàn)64,就在第一個1的右側(cè)寫一個0,依次類推!請讀者參考以上方法,直接寫出300D、400D、500D的等值二進(jìn)制數(shù)。
讀者也會經(jīng)常遇到比較大的十進(jìn)制整數(shù)向其他進(jìn)制轉(zhuǎn)換,此時需要靈活運(yùn)用所學(xué)知識;如怎樣將十進(jìn)制整數(shù)229轉(zhuǎn)換為十六進(jìn)制數(shù)呢?最簡捷的解題方法如下:229=21×228=2×(24)7=2×167=2000 0000H。當(dāng)然讀者也可以采用“除十六取余,直到商為0,逆序輸出”法,只是建議在計算時,最好能將“229÷16”寫作“229÷24”,這樣計算起來就比較簡單!
3 二進(jìn)制數(shù)和八進(jìn)制數(shù)之間的轉(zhuǎn)換(即B←→Q)
首先討論二進(jìn)制數(shù)向八進(jìn)制數(shù)轉(zhuǎn)換的方法:小數(shù)點兩側(cè),三位分組,不夠三位的、補(bǔ)0湊成三位;然后再其下方寫上“421”,把二進(jìn)制數(shù)中的1對應(yīng)的“421”中的數(shù)字進(jìn)行累加,即可輕松寫出答案。比如:二進(jìn)制數(shù)101011.1011B向八進(jìn)制數(shù)的轉(zhuǎn)換過程如下方表格所示:
八進(jìn)制數(shù)向二進(jìn)制數(shù)轉(zhuǎn)換的過程正好是上方表格的逆過程,但是務(wù)必記住:“每一個八進(jìn)制數(shù)位必須使用3個二進(jìn)制數(shù)位表示”。如:703.4Q=111 000 011.100 B=111000011.1B
4 二進(jìn)制數(shù)和十六進(jìn)制數(shù)之間的轉(zhuǎn)換(即B←→H)
然后討論二進(jìn)制數(shù)向十六進(jìn)制數(shù)轉(zhuǎn)換的方法:小數(shù)點兩側(cè),四位分組,不夠四位的、補(bǔ)0湊成四位;然后再其下方寫上“8421”,把二進(jìn)制數(shù)中的1對應(yīng)的“8421”中的數(shù)字進(jìn)行累加,即可輕松寫出其十六進(jìn)制數(shù)結(jié)果。比如:二進(jìn)制數(shù)101011.101B向十六進(jìn)制數(shù)的轉(zhuǎn)換過程如下方表格所示:
5 小結(jié)
綜上所述,我們可以發(fā)現(xiàn)以下幾點規(guī)律:①二進(jìn)制數(shù)和八進(jìn)制數(shù)之間是絕對可以精確轉(zhuǎn)換的;②二進(jìn)制數(shù)和十六進(jìn)制數(shù)之間也是絕對可以精確轉(zhuǎn)換的;③二進(jìn)制向十進(jìn)制轉(zhuǎn)換的時候,也是可以精確轉(zhuǎn)換的;④十進(jìn)制整數(shù)向其他任何進(jìn)制整數(shù)轉(zhuǎn)換的時候,也都是可以精確轉(zhuǎn)換的;⑤十進(jìn)制小數(shù)向其他進(jìn)制小數(shù)轉(zhuǎn)換的時候,有可能出現(xiàn)無限循環(huán)或無限不循環(huán)、從而無法精確轉(zhuǎn)換(如0.6D=0.100110011001…B)。
各種進(jìn)制在日常生活中被廣泛的使用,如每周7天使用的是七進(jìn)制,一年四個季度使用的是四進(jìn)制,一年12個月使用的是十二進(jìn)制。熟練掌握以上進(jìn)制轉(zhuǎn)換方法后,所有進(jìn)制之間的轉(zhuǎn)換我們都可以輕松自如的完成轉(zhuǎn)換;并且熟練掌握進(jìn)制之間的轉(zhuǎn)換,是學(xué)習(xí)信息技術(shù)相關(guān)領(lǐng)域知識的最基本要求,對于以后更深層次的專業(yè)課學(xué)習(xí)也是至關(guān)重要的。
參考文獻(xiàn):
[1] 百度,www.baidu.com.
[2] 愛奇藝,www.iqiyi.com.
[3] 張福炎.大學(xué)計算機(jī)信息技術(shù)教程[M].第6版,南京大學(xué)出版社.
[4] 龔沛曾.大學(xué)計算機(jī)基礎(chǔ)[M].第6版,高等教育出版社.