0.999・・・=1 |
||||||||
● 小数を2進法で ● さて、今回は小数のお勉強をしましょう。 えっ、小数ぐらい知ってるって? (知らない人は、このホームページの まだまだ、続きがあるのです。 さて、 0.999 をもう一度ふりかえってみましょう。 0.999 は
1
1
1 あわせた数です。 すなわち、 9 9 9 では、2進法で 0.111 といったらどんな数でしょうか。 それには、10 を 2 でおきかえます。 (0.111)2 は 1 1 1 あわせた数です。つまり、
1 1 1 これは10進法ではどんな数か、続けて計算しておきましょう。
4 2 1 7 = 0.875 2進法で (0.111)2 は 10進法で 0.875 です。
さて、いよいよこんなことを考えてみましょう。 0.999・・・=1 くりかえします。 「1000−1」で、こんなことをやりました。 (0.111・・・)2=1 これは10進法になおすと、次のようになります。
● 2進法から10進法へ(整数) ● このさい、2進数についてもっとお勉強してみましょう。 まずは、2進法で表された数を10進法で表すことからやります。 こんなふうに考えましょう。 2進法のコンピュータ社会のお金を、10進法の人間社会のお金に、 ためしに、(10101)2 円 を両替してみます。 1円玉 が 1個 と まず、このコンピュータ社会の 1円玉 21個 を この 1円玉 21個 を 今度は人間社会で大きなお金にかえていきます。 1円玉 が 1個 と コンピュータ社会の (10101)2 円は、人間社会の (21)10 円 です。 まとめてみましょう。 1円 ( このことを 20 ) そして、10進法の1の位、10の位、100の位 などは、 (10101)2 で 1 のところは 1の位 (20の位) この書き方で、もう一度計算しておきましょう。 (10101)2=1×24 + 0×23 + 1×22 + 0×2 + 1×1
● 10進法から2進法へ(整数) ● 次に、10進法で表された数を2進法で表してみましょう。 また、こんなふうに考えます。 10進法の人間社会のお金を、2進法のコンピュータ社会のお金に、 ためしに、(21)10 円 を両替してみます。 1円玉 が 1個 と まず、この人間社会の 1円玉 21個 を この 1円玉 21個 を 今度はコンピュータ社会で大きなお金にかえていくのです。 さあ、銀行屋さん(両替屋さん)ごっこです! ● まず、1円玉 21個 を 2円玉 にかえます。 21÷2=10 あまり 1 これを 2 ) 21 1円玉 20個 は 2円玉 10個 にかえられます。 ● つぎに、2円玉 10個 を 4円玉 にかえます。 10÷2=5 あまり 0 これを 2 ) 10 2円玉 10個 は 4円玉 5個 にかえられます。 ● つぎに、4円玉 5個 を 8円玉 にかえます。 5÷2=2 あまり 1 これを 2 ) 5 4円玉 4個 は 8円玉 2個 にかえられます。 ● つぎに、8円玉 2個 を 16円玉 にかえます。 2÷2=1 あまり 0 これを 2 ) 2 8円玉 2個 は 16円玉 1個 にかえられます。 ● けっきょく、 1円玉 1個 ● いままでの計算は、次のように続けてやっていきます。 2 ) 21 人間社会の (21)10 円は、コンピュータ社会の (10101)2 円 です。
● 2進法から10進法へ(小数) ● さて、いよいよ小数です。 むかしは、1円 より小さいお金があったようですが、 でも、お金ってとってもわかりやすいので、 人間社会では、次のようなお金を作ります。 1 1 1
1
1 同じようにして、コンピュータ社会では、次のようなお金を作ります。 1 1 1
1 1 これで、じゅんびができました。 さっそく、2進法で表された小数を10進法で表すことからやります。 またまた、こんなふうに考えましょう。 2進法のコンピュータ社会のお金を、10進法の人間社会のお金に、 ためしに、(0.101)2 円 を両替してみます。
1 0 1
4 0 1
5 = 0.625 コンピュータ社会の (0.101)2 円は、人間社会の (0.625)10 円 です。
● 10進法から2進法へ(小数) ● いよいよ、10進法で表された小数を2進法で表すことをやります。 こんなふうに考えましょう。 2進法のコンピュータ社会のお金を、10進法の人間社会のお金に、 ためしに、(0.625)10 円 を両替してみます。 一見、さっきの逆をすればいいと思ってしまいます。
625
5
4+0+1 4 0 1
1 0 1 一見めでたく、人間社会の (0.625)10 円は、 ところが、そうはとんやがおろさないのです。 たとえば、(0.2)10 円 を両替してみましよう。
2
1 にっちもさっちもいかなくなりますね。 そこで、気分もあらたに (0.625)10 円 の両替からもう一度やってみます。 10進数 の場合は 1円玉 は 何枚? と数えねばならずめんどうでしたが、2進数の場合はどのお札(玉)も 0枚 それとも 1枚 と数えるだけですからかんたんです。 さあ、あるかな(0枚) それとも ないかな(1枚)? 1 1 0.625 × 2 = 1.25 = 1+0.25 1 0.25 は のこりのお金の2倍です。 1 1 0.25 × 2 = 0.5 = 0+0.5 1 0.5 は のこりのお金の4倍です。 1 1 0.5 × 2 = 1 1 これで、もうお金はのこっていず、全部両替されました。 ● もう一度ふりかえってみましょう。
人間社会の (0.625)10 円は、コンピュータ社会の (0.101)2 円 です。
さて、問題の (0.2)10 円 を両替してみましよう。 1 1 0.2 × 2 = 0.4 = 0+0.4 1 0.4 は のこりのお金の2倍です。 1 1 0.4 × 2 = 0.8 = 0+0.8 1 0.8 は のこりのお金の4倍です。 1 1 0.8 × 2 = 1、6 = 1+0.6 1 1 1 0.6 × 2 = 1、2 = 1+0.2 1 ●さて、のこりのお金の16倍は 最初の 0.2 です。 ● もう一度ふりかえってみましょう。
つまり、人間社会の (0.2)10 円は、
● 循環小数 ● もしかしたら、 (0.2)10 = (0.001100110011・・・)2 と、(2進数版)循環小数(じゅんかんしょうすう)になったことを、 では、2進数でわり算をやってみましょう。
625
5
(101)2 ここから、わり算をします。 0.101 したがって (0.625)10 = (0.101)2 さて、問題の循環小数になる方をやりましょう。
2
1
(1)2 これも、ここからわり算をします。 0.0011 ここで 1÷101 になりましたから、ここから同じことのくりかえしです。 数を2進法であらわしても、あまりは割る数より小さいのですから したがって (0.2)10 = (0.001100110011・・・)2
掲載内容の無断転載、転用、編集を禁じます。(c)
小林吹代 |