進(jìn)制的轉(zhuǎn)換①
(注:本文不討論計(jì)算機(jī)編程語(yǔ)言的相關(guān)問(wèn)題)
要弄懂進(jìn)制怎樣轉(zhuǎn)換,就要先弄懂什么是進(jìn)制。 進(jìn)制也就是進(jìn)位計(jì)數(shù)制,是人為定義的帶進(jìn)位的計(jì)數(shù)方法(除不帶進(jìn)位的計(jì)數(shù)方法以外)。 對(duì)于任何一種進(jìn)制——x進(jìn)制,就表示每一位置上的數(shù)運(yùn)算時(shí)都是逢x進(jìn)一位。比如,十進(jìn)制是逢十進(jìn)一,十六進(jìn)制是逢十六進(jìn)一,二進(jìn)制就是逢二進(jìn)一,那么以此類推,X進(jìn)制就是逢X進(jìn)1。 二進(jìn)制數(shù)的范圍是0和1,八進(jìn)制數(shù)的范圍是0到7,十進(jìn)制輸?shù)姆秶?到9,那么十六進(jìn)制的范圍是0到15嗎?當(dāng)然不是,10到15是兩位數(shù),很顯然不符合進(jìn)制的定義,于是使用字母來(lái)表示。所以十六進(jìn)制的范圍是0到9和A到F。 下表是一些常用的進(jìn)制。
十進(jìn)制逢十進(jìn)一,二進(jìn)制逢二進(jìn)一,八進(jìn)制逢八進(jìn)一,十六進(jìn)制逢十六進(jìn)一,以此類推,這個(gè)應(yīng)該很好理解。但是,如果我們用上表這種方法進(jìn)行較大數(shù)字的進(jìn)制轉(zhuǎn)換,這是非常麻煩的。 除使用計(jì)算器外,我們可以使用短除法進(jìn)行十進(jìn)制向二進(jìn)制的轉(zhuǎn)換。例如將一個(gè)十進(jìn)制數(shù)38轉(zhuǎn)換為二進(jìn)制數(shù),就用38除以2(十進(jìn)制數(shù)轉(zhuǎn)換為幾進(jìn)制數(shù)就除以幾),得到商19余0;再用19除以2,得到商9余1;再用9除以2,得到商4余1……一直這樣除下去,直到商為0的時(shí)候,把所有余數(shù)從下往上倒過(guò)來(lái)排列,就得到了一組數(shù)——100110,這組數(shù)就是十進(jìn)制數(shù)38轉(zhuǎn)換為二進(jìn)制數(shù)的結(jié)果(如下圖)。其他十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)也同樣適用。
上述中只是一種方法,當(dāng)需要進(jìn)行較大數(shù)字的進(jìn)制轉(zhuǎn)換時(shí),為了避免計(jì)算錯(cuò)誤,還是需要使用計(jì)算器進(jìn)行演算的。 (本文僅供參考)