日常人們生活始終的數(shù)字一般都是十進(jìn)制的,而計(jì)算機(jī)使用的是二進(jìn)制除此之外還有八進(jìn)制、十六進(jìn)制等等,那么對(duì)于不同的進(jìn)制之間,它們是怎樣進(jìn)行轉(zhuǎn)換的呢? 先來(lái)看這樣一道題,對(duì)于二進(jìn)制整數(shù)1011,把它轉(zhuǎn)換成十進(jìn)制,我們就會(huì)列下式子1*2^3+0*2^2+1*2^1+1*1^0 = 11,這種方法叫按位權(quán)展開(kāi)。這種發(fā)法同樣適用于m進(jìn)制轉(zhuǎn)換成十進(jìn)制。 任何進(jìn)制中,每個(gè)數(shù)都可以按位權(quán)展開(kāi)成各個(gè)數(shù)位上的數(shù)字乘以對(duì)應(yīng)數(shù)位的位權(quán),再相加的形式。 我們用代碼來(lái)實(shí)現(xiàn)一下 當(dāng)給我們一個(gè)十進(jìn)制整數(shù)11,想要把它轉(zhuǎn)化成二進(jìn)制,我們列出以下的算式: 2 | 11 1 2 | 5 1 2 | 2 0 2 | 1 1 0 最后自下向上得到1011二進(jìn)制整數(shù),這種方法叫除二取余法,這種方法同樣適用于k進(jìn)制的數(shù)轉(zhuǎn)換成十進(jìn)制,于是便有了除k取余法。 我們用代碼來(lái)實(shí)現(xiàn)一下 在一些題目中,還有可能會(huì)遇到m進(jìn)制轉(zhuǎn)換為k進(jìn)制的情況,我們則需要先將m進(jìn)制轉(zhuǎn)換為10進(jìn)制,再有十進(jìn)制轉(zhuǎn)換為k進(jìn)制進(jìn)行輸出即可。 |
|
來(lái)自: 長(zhǎng)沙7喜 > 《信息課》