進(jìn)制轉(zhuǎn)換

進(jìn)位制/位置計(jì)數(shù)法是一種記數(shù)方式,故亦稱進(jìn)位記數(shù)法/位值計(jì)數(shù)法,可以用有限的數(shù)字符號(hào)代表所有的數(shù)值??墒褂脭?shù)字符號(hào)的數(shù)目稱為基數(shù)(en:radix)或底數(shù),基數(shù)為n,即可稱n進(jìn)位制,簡稱n進(jìn)制?,F(xiàn)在最常用的是十進(jìn)制,通常使用10個(gè)阿拉伯?dāng)?shù)字0-9進(jìn)行記數(shù)。

------------------------------------------------------------------------------------------------------------------------------------------

一. 十進(jìn)制和二進(jìn)制互相轉(zhuǎn)換

(1) 十進(jìn)制轉(zhuǎn)換為二進(jìn)制,分為整數(shù)部分和小數(shù)部分

1.整數(shù)部分

方法:除2取余法,即每次將整數(shù)部分除以2,余數(shù)為該位權(quán)上的數(shù),而商繼續(xù)除以2,余數(shù)又為上一個(gè)位權(quán)上的數(shù),這個(gè)步驟一直持續(xù)下去,直到商為0為止,最后讀數(shù)時(shí)候,從最后一個(gè)余數(shù)讀起,一直到最前面的一個(gè)余數(shù)。下面舉例:

例:將十進(jìn)制的168轉(zhuǎn)換為二進(jìn)制

得出結(jié)果 將十進(jìn)制的168轉(zhuǎn)換為二進(jìn)制,(10101000)

分析:

? ? 第一步,將168除以2,商84,余數(shù)為0。

? ? 第二步,將商84除以2,商42余數(shù)為0。

? ? 第三步,將商42除以2,商21余數(shù)為0。

? ? 第四步,將商21除以2,商10余數(shù)為1。

? ? 第五步,將商10除以2,商5余數(shù)為0。

? ? 第六步,將商5除以2,商2余數(shù)為1。

? ? 第七步,將商2除以2,商1余數(shù)為0。

? ? 第八步,將商1除以2,商0余數(shù)為1。

? ? 第九步,讀數(shù),因?yàn)樽詈笠晃皇墙?jīng)過多次除以2才得到的,因此它是最高位,讀數(shù)字從最后的余數(shù)向前讀,即10101000

2.小數(shù)部分

方法:乘2取整法,即將小數(shù)部分乘以2,然后取整數(shù)部分,剩下的小數(shù)部分繼續(xù)乘以2,然后取整數(shù)部分,剩下的小數(shù)部分又乘以2,一直取到小數(shù)部分

為零為止。如果永遠(yuǎn)不能為零,就同十進(jìn)制數(shù)的四舍五入一樣,按照要求保留多少位小數(shù)時(shí),就根據(jù)后面一位是0還是1,取舍,如果是零,舍掉,如果是1,向入一位。換句話說就是0舍1入。讀數(shù)要從前面的整數(shù)讀到后面的整數(shù),下面舉例:

例1:將0.125換算為二進(jìn)制

得出結(jié)果:將0.125換算為二進(jìn)制(0.001)

分析:

? ? 第一步,將0.125乘以2,得0.25,則整數(shù)部分為0,小數(shù)部分為0.25。

? ? 第二步, 將小數(shù)部分0.25乘以2,得0.5,則整數(shù)部分為0,小數(shù)部分為0.5。

? ? 第三步, 將小數(shù)部分0.5乘以2,得1.0,則整數(shù)部分為1,小數(shù)部分為0.0。

? ? 第四步,讀數(shù),從第一位讀起,讀到最后一位,即為0.001。

例2:將0.45轉(zhuǎn)換為二進(jìn)制(保留到小數(shù)點(diǎn)第四位)

大家從上面步驟可以看出,當(dāng)?shù)谖宕巫龀朔〞r(shí)候,得到的結(jié)果是0.4,那么小數(shù)部分繼續(xù)乘以2,得0.8,0.8又乘以2的,到1.6這樣一直乘下去,最后不可能得到小數(shù)部分為零,因此,這個(gè)時(shí)候只好學(xué)習(xí)十進(jìn)制的方法進(jìn)行四舍五入了,但是二進(jìn)制只有0和1兩個(gè),于是就出現(xiàn)0舍1入。這個(gè)也是計(jì)算機(jī)在轉(zhuǎn)換中會(huì)產(chǎn)生誤差,但是由于保留位數(shù)很多,精度很高,所以可以忽略不計(jì)。

那么,我們可以得出結(jié)果將0.45轉(zhuǎn)換為二進(jìn)制約等于0.0111

上面介紹的方法是十進(jìn)制轉(zhuǎn)換為為二進(jìn)制的方法,需要大家注意的是:

? ? 十進(jìn)制轉(zhuǎn)換為二進(jìn)制,需要分成整數(shù)和小數(shù)兩個(gè)部分分別轉(zhuǎn)換。

? ? 當(dāng)轉(zhuǎn)換整數(shù)時(shí),用的除2取余法,而轉(zhuǎn)換小數(shù)時(shí)候,用的是乘2取整法。

? ? 注意他們的讀數(shù)方向。

因此,我們從上面的方法,我們可以得出十進(jìn)制數(shù)168.125轉(zhuǎn)換為二進(jìn)制為10101000.001,或者十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)約等于10101000.0111。

(2) 二進(jìn)制轉(zhuǎn)換為十進(jìn)制 不分整數(shù)和小數(shù)部分

方法:按權(quán)相加法,即將二進(jìn)制每位上的數(shù)乘以權(quán),然后相加之和即是十進(jìn)制數(shù)。

二進(jìn)制數(shù)的第0位的權(quán)值是2的0次方,第一位的權(quán)值是2的1次方

例1:將二進(jìn)制數(shù)101.101轉(zhuǎn)換為十進(jìn)制數(shù)。

得出結(jié)果:(101.101)2=(5.625)10

分析:

? ? 1*2^0 + 0*2^1 + 1*2^2 + 1*2^-1 + 0*2^-2 + 1*2^-3

? ? 1 + 0 + 4 + 0.5 + 0 + 0.125 = 5.625

例2:將二進(jìn)制101100100換算為十進(jìn)制

得出結(jié)果:將101100100換算為十進(jìn)制(356)

分析:

? ? 二進(jìn)制數(shù)第0位的權(quán)值是2的0次方,第1位的權(quán)值是2的1次方......

? ? 用橫式計(jì)算(從右往左算)

? ? 0*2^0 + 0*2^1 +1*2^2 + 0*2^3 + 0*2^4 + 1*2^5 + 1*2^6 + 0*2^7 + 1*2^8

? ? 0乘以多少都是0,所以我們也可以直接跳過值為0的位:

? ? 1*2^2 + 1*2^5 + 1*2^6 + 1*2^8 = 356

? ? 4 + 32 + 64 + 256 = 356

大家在做二進(jìn)制轉(zhuǎn)換成十進(jìn)制需要注意的是:

? ? 要知道二進(jìn)制每位的權(quán)值。

? ? 要能求出每位的值。

------------------------------------------------------------------------------------------------------------------------------------------

二. 二進(jìn)制與八進(jìn)制互相轉(zhuǎn)換

? ? 首先,我們需要了解一個(gè)數(shù)學(xué)關(guān)系,即2^3=8,2^4=16,而八進(jìn)制和十六進(jìn)制是用這關(guān)系衍生而來的,即用三位二進(jìn)制表示一位八進(jìn)制,用四位二進(jìn)制表示一位十六進(jìn)制數(shù)。

? ? 接著,記住4個(gè)數(shù)字8、4、2、1(2^3=8、2^2=4、2^1=2、2^0=1)。


? ? 現(xiàn)在我們來練習(xí)二進(jìn)制與八進(jìn)制之間的轉(zhuǎn)換。

(1)? 二進(jìn)制轉(zhuǎn)換為八進(jìn)制

方法:取三合一法,即從二進(jìn)制的小數(shù)點(diǎn)為分界點(diǎn),向左(向右)每三位取成一位,接著將這三位二進(jìn)制按權(quán)相加,得到的數(shù)就是一位八位二進(jìn)制數(shù),然后,按順序進(jìn)行排列,小數(shù)點(diǎn)的位置不變,得到的數(shù)字就是我們所求的八進(jìn)制數(shù)。如果向左(向右)取三位后,取到最高(最低)位時(shí)候,如果無法湊足三位,可以在小數(shù)點(diǎn)最左邊(最右邊),即整數(shù)的最高位(最低位)添0,湊足三位。


每一個(gè)三位表示一個(gè)八位,所以要三三分組,這里需要注意的是,在向左(或向右)取三位時(shí),取到最高位(最低位)如果無法湊足三位,就可以在小數(shù)點(diǎn)的最左邊(或最右邊)補(bǔ)0,進(jìn)行換算。 分好組以后,對照二進(jìn)制與八進(jìn)制數(shù)的對應(yīng)表,將三位二進(jìn)制按權(quán)相加,得到的數(shù)就是一位八進(jìn)制數(shù),然后按順序排列,小數(shù)點(diǎn)的位置不變哦,最后得到的就是八進(jìn)制數(shù)哦。

這里需要注意的是大家在做添0補(bǔ)位的時(shí)候,是在小數(shù)點(diǎn)最左邊或最右邊才能添0。

例1:將二進(jìn)制數(shù)101110.101轉(zhuǎn)換為八進(jìn)制

得到結(jié)果:將101110.101轉(zhuǎn)換為八進(jìn)制為56.5

例2:將二進(jìn)制數(shù)1101.1轉(zhuǎn)換為八進(jìn)制

得到結(jié)果:將1101.1轉(zhuǎn)換為八進(jìn)制為15.4

例3:將二進(jìn)制數(shù)010100.011101轉(zhuǎn)換為八進(jìn)制

得到結(jié)果:將010100.011101轉(zhuǎn)換為八進(jìn)制為24.35



例4:將二進(jìn)制數(shù)1011.11轉(zhuǎn)換為八進(jìn)制

得到結(jié)果:將1011.11轉(zhuǎn)換為八進(jìn)制為13.6

(2)? 二進(jìn)制與八進(jìn)制之間的轉(zhuǎn)換


? ? ? 首先,我們需要了解一個(gè)數(shù)學(xué)關(guān)系,即2^3=8,2^4=16,而八進(jìn)制和十六進(jìn)制是用這關(guān)系衍生而來的,即用三位二進(jìn)制表示一位八進(jìn)制,用四位二進(jìn)制表示一位十六進(jìn)制數(shù)。

接著,記住4個(gè)數(shù)字8、4、2、1(2^3=8、2^2=4、2^1=2、2^0=1)?,F(xiàn)在我們來練習(xí)二進(jìn)制與八進(jìn)制之間的轉(zhuǎn)換。

1. 將八進(jìn)制轉(zhuǎn)換為二進(jìn)制

方法:取一分三法,即將一位八進(jìn)制數(shù)分解成三位二進(jìn)制數(shù),用三位二進(jìn)制按權(quán)相加去湊這位八進(jìn)制數(shù),小數(shù)點(diǎn)位置照舊。

例1:將八進(jìn)制數(shù)67.54轉(zhuǎn)換為二進(jìn)制

因此,將八進(jìn)制數(shù)67.54轉(zhuǎn)換為二進(jìn)制數(shù)為110111.101100,即110111.1011

大家從上面這道題可以看出,計(jì)算八進(jìn)制轉(zhuǎn)換為二進(jìn)制

首先,將八進(jìn)制按照從左到右,每位展開為三位,小數(shù)點(diǎn)位置不變

然后,按每位展開為22,21,20(即4、2、1)三位去做湊數(shù),即a×22+ b×21 +c×20=該位上的數(shù)(a=1或者a=0,b=1或者b=0,c=1或者c=0),將abc排列就是該位的二進(jìn)制數(shù)

接著,將每位上轉(zhuǎn)換成二進(jìn)制數(shù)按順序排列

最后,就得到了八進(jìn)制轉(zhuǎn)換成二進(jìn)制的數(shù)字。

例2:將八進(jìn)制數(shù)543.01轉(zhuǎn)換為二進(jìn)制

5 4 3. 0 1

101 100 011. 000 001


以上的方法就是二進(jìn)制與八進(jìn)制的互換,大家在做題的時(shí)候需要注意的是:

1) 他們之間的互換是以一位與三位轉(zhuǎn)換,這個(gè)有別于二進(jìn)制與十進(jìn)制轉(zhuǎn)換

2) 大家在做添0和去0的時(shí)候要注意,是在小數(shù)點(diǎn)最左邊或者小數(shù)點(diǎn)的最右邊(即整數(shù)的最高位和小數(shù)的最低位)才能添0或者去0,否則將產(chǎn)生錯(cuò)誤


------------------------------------------------------------------------------------------------------------------------------------------

三. 二進(jìn)制與十六進(jìn)制互相轉(zhuǎn)換

------------------------------------------------------------------------------------------------------------------------------------------

四. 八進(jìn)制與十六進(jìn)制互相轉(zhuǎn)換

------------------------------------------------------------------------------------------------------------------------------------------

五. 八進(jìn)制與十進(jìn)制互相轉(zhuǎn)換

------------------------------------------------------------------------------------------------------------------------------------------

六. 十六進(jìn)制與十進(jìn)制互相轉(zhuǎn)換

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容