2.十進(jìn)制與二進(jìn)制的互相轉化
今天,當我們寫(xiě)上一個(gè)數目 1997 時(shí),實(shí)際上意味著(zhù)我們使用了“十進(jìn)制”數,即
1997=1×1000+9×100+9×10+7×1
也就是說(shuō):1997 中含有一個(gè) 1000,九個(gè) 100,九個(gè) 10 與七個(gè) 1。
在表 1 中可以看到:二進(jìn)制數 10 表示十進(jìn)制數 2;二進(jìn)制數 100,表示十進(jìn)制數
66
4;二進(jìn)制數 1000,表示十進(jìn)制數 8;二進(jìn)制數 10000 表示十進(jìn)制數 16;…;可
以看出規律:二進(jìn)制數 100000 應該表示十進(jìn)制數 32,…。那么我們寫(xiě)下一個(gè)二進(jìn)制
數 10110,則應表示它含有一個(gè) 16,一個(gè) 4 與一個(gè) 2,也就是
10110=1×16+0×8+1×4+1×2+0×1
明白了上面所說(shuō)的兩點(diǎn),則二進(jìn)制與十進(jìn)制之間的轉化的道理就容易懂了。為了
敘述的方便,我們約定:用( )2表示括號內寫(xiě)的數是二進(jìn)制數,如(1011)2;用( )
10 表示括號中寫(xiě)的數是十進(jìn)制數,如(37)10。
例 1 把(10110)2改寫(xiě)成十進(jìn)制數。
解 (10110)2=1×16+0×8+1×4+1×2+0×1
=16+4+2
=(22)10
例 2 把(1110101)2改寫(xiě)成十進(jìn)制數。
分析:因為位數太多,我們先從低位寫(xiě)起。
解 (1110101)2=1×1+0×2+1×4+0×8+1×16+1×32+1×64
=1+4+16+32+64
=(117)10
67
從上面兩道例題可以看到:將一個(gè)二進(jìn)制數寫(xiě)成十進(jìn)制數的第一步驟是:將二進(jìn)
制數的各數位上數字改寫(xiě)成相應的十進(jìn)制數。因為是“滿(mǎn)二進(jìn)一”,所以高位是相鄰
低一位數的 2 倍。一個(gè)二進(jìn)制數的各個(gè)數位(由低位到高位)對應十進(jìn)制數的規律是:
1,2,4,8,16,32,64,128,256,512,1024,…
第二個(gè)步驟是將各數位上對應的十進(jìn)制數求和,所得結果便是相應的十進(jìn)制數。
再看一題。
例 3 將(110100111)2改寫(xiě)成十進(jìn)制數。
分析:還是由低位寫(xiě)起。
解 (110100111)2=1×1+1×2+1×4+0×8+0×16+1×32+0×64+1×128+1×256
=1+2+4+32+128+256
=(423)10
下面我們介紹如何將一個(gè)十進(jìn)制數改寫(xiě)成相應的二進(jìn)制數。
例 4 把(60)10改寫(xiě)成二進(jìn)制數。
解 (60)10=32+28
=32+16+12
=32+16+8+4
68
=32+16+8+4+0×2+0×1
=(111100)2
說(shuō)明:從解題過(guò)程中立即便能看出,將十進(jìn)制數寫(xiě)成二進(jìn)制數的過(guò)程,正好與將
二進(jìn)制數改寫(xiě)成十進(jìn)制數的過(guò)程相反:先由高位開(kāi)始考慮,將十進(jìn)制數盡可能地湊出
相應二進(jìn)制數的最高位,然后逐步往下進(jìn)行。
例 5 把(45)10改寫(xiě)成二進(jìn)制數。
分析:(45)10不足 64,所以它對應的二進(jìn)制數的最高位是 32,即 45=32+13,
剩下的 13 不足 16,則向下一位考慮。45=32+0×16+(8+5),剩下的 5 中包含一
個(gè) 4,即 45=32+0×16+8+4+1,最后一位數是 1,又不足 2,所以對應的二進(jìn)位數
又空一位。
解 (45)10=32+0×16+8+4+0×2+1
=(101101)2
練一練:
(1)將(31)10改寫(xiě)成二進(jìn)制數;
(2)將(78)10改寫(xiě)成二進(jìn)制數。
下面我們再介紹一種將十進(jìn)制數寫(xiě)成二進(jìn)制數的常用方法--除二倒取余法。例
如要將(71)10寫(xiě)成二進(jìn)制數,參見(jiàn)下式。我們將 71 除以 2,余數 1 相應寫(xiě)在右邊(如
果除盡,余數則寫(xiě) 0);再將商 35 除以 2,余數 1 相應寫(xiě)在右邊;再將這步的商 17
69
除以 2,重復上述過(guò)程,直到商等于 1 為止。并且最后一步的商“1”也寫(xiě)到右邊余數
那一列的最下面。最后將這列余數由下到上寫(xiě)成一行數,這行數便是(71)10的二進(jìn)
制數表示法。即
(71)10=(1000111)2
例 6 用除二倒取余法將(38)10寫(xiě)成二進(jìn)制數。
解 ∵
∴(38)10=(100110)2
例 7 用兩種方法將(107)10改寫(xiě)成二進(jìn)制數。
解 方法一
(107)10=64+43
=64+32+11
=64+32+0×16+8+3
=64+32+0×16+8+0×4+2+1
70
=(1101011)2
方法二 ∵
∴(107)10=(1101011)2
練習九
1.把下面的二進(jìn)制數改寫(xiě)成十進(jìn)制數。
①(10001)2; ②(11000)2;
③(101110)2; ④(111101)2;
⑤(1101001)2; ⑥(11011010)2。
2.把下面的十進(jìn)制數改寫(xiě)成二進(jìn)制數。
①(19)10; ②(26)10; ③(54)10;
④(81)10; ⑤(123)10; ⑥(180)10。
3.現有 1 克、2 克、4 克、8 克的砝碼各一枚,在天平上能稱(chēng)出多少種不同重量的
物體?想一想這是為什么?與二進(jìn)制有關(guān)嗎?
71
十、二進(jìn)制數的四則運算
同學(xué)們一定記得,剛上一年級學(xué)習加法運算時(shí)有加法口訣到了學(xué)習乘法的時(shí)候,
又有“九九乘法口訣表”。背誦“九九表”對每個(gè)小同學(xué)來(lái)說(shuō)都是一件十分辛苦而費
時(shí)的事,所以當時(shí)大家都希望“九九表”能夠簡(jiǎn)單一些吧?由于我們使用的是十進(jìn)制,
所以它的四則運算法則不可能太簡(jiǎn)單,F在我們學(xué)習了二進(jìn)制數,而二進(jìn)制數中只有
兩個(gè)獨立的符號“0”與“1”,所以二進(jìn)制數的四則運算法則就簡(jiǎn)便多了!
加法法則:
0+0=0;0+1=1;
1+0=1;1+1=10。
乘法法則:
0×0=0;0×1=0;
1×0=0;1×1=1。
上面列出的八條二進(jìn)制運算法則可以歸納成八個(gè)字:“格式照舊,滿(mǎn)二進(jìn)一!
利用這一規則,可以很容易地實(shí)現二進(jìn)制數的四則運算。只是對于減法,當需要向上
一位借數時(shí),必須把上一位的 1 看成下一位的(2)10。
下面是一些例子,右邊列的是十進(jìn)制下的對照:
加法運算:
72
(100)2+(110)2=(1010)2
1+1=10,本位記 0,并向高位進(jìn) 1(即“滿(mǎn)二進(jìn)一”)
4+6=10
減法運算:
(1100)2-(1001)2=(11)2
被減數不夠減,向高位借 1 當 2,2-1 得 1。
12-9=3