十進(jìn)制轉(zhuǎn)二進(jìn)制,只要記住一個(gè)等比數(shù)列就好
對(duì)于沒接觸過二進(jìn)制的同學(xué)來說,進(jìn)制轉(zhuǎn)換問題確實(shí)有一點(diǎn)非腦筋。不過沒關(guān)系,我們先從熟悉的十進(jìn)制來學(xué)習(xí)。
在十進(jìn)制中,我們講究個(gè)位,十位,百位,千位等等,這里的個(gè)十白千實(shí)際上就是權(quán)重的意思。每個(gè)位置的權(quán)重是不變的,變的只是這個(gè)位置上填充的數(shù)字。
口口口
這里有一個(gè)三位數(shù),最假設(shè)給三個(gè)方框填充的數(shù)字從左到右是279,那么你自然就讀出這個(gè)數(shù)字,是二百七十九,你有沒有發(fā)現(xiàn),你填充的是2,最終卻有一個(gè)二百,你填充的是七,最終卻有一個(gè)七十,你填充的是九,最終有一個(gè)九。
為什么?
因?yàn)槊總€(gè)方框都隱含著一個(gè)權(quán)重,你可以在這個(gè)方框里面填充0~9中的任意一個(gè)數(shù)字,那么最終得到的數(shù)字,就是每個(gè)方框里面的數(shù)字乘以每個(gè)方框?qū)?yīng)的權(quán)重,再把這些結(jié)果加起來。
最左邊的方框的權(quán)重是100,即10的二次方,中間的方框的權(quán)重是10,即10的一次方,最右邊的方框的權(quán)重是10的零次方,即1,所以最終的結(jié)果就是2*100+7*10+9*1=279。
我畫了一張十進(jìn)制的權(quán)重表

可以看到權(quán)重從左往右是一次降低的,而且是一個(gè)等比數(shù)列,公比是10。
你只要在方框里面填充數(shù)字,你就能得到你想要的任何數(shù)字。
再來看二進(jìn)制。
有了十進(jìn)制的基礎(chǔ),那么二進(jìn)制就很好理解了。因?yàn)槭峭瑯拥牡览怼?/p>
十進(jìn)制里面每個(gè)方框可用的數(shù)字是0到9,每個(gè)方框的權(quán)重是10的次方。那么二進(jìn)制里面每個(gè)方框可用的數(shù)字是0和1,每個(gè)方框的權(quán)重是2的次方。
我畫了一張二進(jìn)制的權(quán)重表

可以看到每個(gè)方框的權(quán)重都是2的次方,而且這些權(quán)重從左到右是一個(gè)以2為公比的等比數(shù)列。
而且,每個(gè)方框的權(quán)重都轉(zhuǎn)換成了對(duì)應(yīng)的十進(jìn)制數(shù)字,2的四次方正好是16,2的三次方正好是8,2的二次方正好是4。這就是十進(jìn)制轉(zhuǎn)二進(jìn)制的關(guān)鍵。
有了這張權(quán)重表我們就可以把任何十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制。
舉個(gè)例子。
現(xiàn)在把176這個(gè)十進(jìn)制數(shù)字轉(zhuǎn)化為二進(jìn)制?
先把二進(jìn)制權(quán)重表列出來
256 128 64 32 16 8 4 2 1 0.5 0.25
從左往右看,第一個(gè)權(quán)重是256,這個(gè)位置只能填充0,如果是1的話,那么256*1,再加上其它的值就超過176這個(gè)數(shù)字了。
第二個(gè)權(quán)重是128,128比176要小,所以這個(gè)位置要填充1,然后還剩下176-128=48
第三個(gè)權(quán)重是64,64比48要大,所以這個(gè)位置是0。
第四個(gè)權(quán)重是32,32比48要小,所以這個(gè)位置是1,然后還剩下48-32=16
第五個(gè)權(quán)重是16,正好我們就需要16,剩下16-16=0
剩下的整數(shù)位置的權(quán)重全部填充為0即可。
那么最后的結(jié)果就是0101 0000 0

再來看一個(gè)小數(shù),0.5625,把它轉(zhuǎn)化為二進(jìn)制是多少呢?
列出權(quán)重
8 4 2 1 0.5 0.25 0.125 0.0625
8這個(gè)位置的肯定填充0,因?yàn)?大魚0.5625
4 2 1?這幾個(gè)位置是一樣道理,都填充0
看0.5這個(gè)位置,0.5比0.5625要小,那么0.5這個(gè)位置要填充1,剩下0.5625-0.5=0.0625
看0.25這個(gè)位置,0.25比0.0625要大,那么這個(gè)位置要填充0。
看0.125這個(gè)位置,0.125比0.0625要大,所以這個(gè)位置要填充0,剩下0.0625
看0.0625這個(gè)位置,這正好就是我們要的數(shù)字,所以這個(gè)位置要填充1.
所以最終的結(jié)果就是0000 1001