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