第101回 冒険ビット(前編)

「2015を2進法で書くと左右対称になるって、知ってた?」とユーリは言った。
$ \newcommand{\BIGUL}[1]{\underline{\Large#1}} \newcommand{\SUM}{\displaystyle\sum} $
登場人物紹介
:数学が好きな高校男子。
ユーリのいとこの中学女子。のことを《お兄ちゃん》と呼ぶ。

$2015$ を $2$ 進法で書く

ユーリ「あけおめー」

「おめー」

ユーリ「ことよろー」

「よろー」

ユーリ「ねー、お兄ちゃん知ってた?  $2015$ って、 $2$ 進法で書くと左右対称なんだって」

「へえ、そうなんだ」

ユーリ「えーっとね、 $2015$ を $2$ 進法で書くと $11111011111$ なんだよー」

$2015$ を $2$ 進法で書くと左右対称になる
$$ \begin{array}{cc} \text{ $10$ 進法} & \text{ $2$ 進法} \\ \hline 2015 & 11111011111 \\ \end{array} $$

「ユーリ、そんなのよく気付いたなあ」

ユーリ「ネットで話題になってた」

「そうなんだ」

ユーリ「それからね、平成 $27$ 年の $27$ も $2$ 進法で書くと左右対称になるんだよ。 $11011$ だって!」

$27$ を $2$ 進法で書くと左右対称になる
$$ \begin{array}{cc} \text{ $10$ 進法} & \text{ $2$ 進法} \\ \hline 27 & 11011 \\ \end{array} $$

「おもしろいな……ユーリ、それメモしてたの?」

ユーリ「そーだよ。お兄ちゃんに教えてあげよーと思って」

「そりゃどうも」

ユーリ「こないだお兄ちゃんから $2$ 進法教えてもらってから、ちょっと興味あるの」

「 $2$ 進法の話なんてしたっけ?」

ユーリ「したじゃん。ほらほら《数当てマジック》のとき(『数学ガールの秘密ノート/整数で遊ぼう』参照)」

「なるほど。 $2$ 進法は好きだよ。 $2$ 進法がらみでは、いろんな数学者が出てくるけど、ライプニッツの話が特に好きだな」

ユーリ「誰それ」

「がく。ライプニッツは有名な数学者だよ。ニュートンと並んで微分を考えた人でもある」

ユーリ「ふーん」

「ライプニッツはね、 $10$ 進法で数列を書くよりも $2$ 進法で書いた方が、 パターンを見つけやすくなるっていってる」

ユーリ「パターン?」

「うん。数列が持っているパターンが見つけやすくなるということは、数列が持っている性質を見つけやすくなるってことだね」

ユーリ「そーなんだ」

「さっきユーリがいってた《左右対称》っていうのもパターンの一種といえるかも」

ユーリ「どーして、 $2$ 進法だとパターンが見つけやすいの?」

「どうして見つけやすいか……そうだなあ。 $2$ 進法で使われている数字は $0$ と $1$ しかないからかもね。 $10$ 進法だと $0$ から $9$ まで使うから、 数の並びがあったときにどれとどれが同じかわかりにくい。 でも $2$ 進法だと $0$ と $1$ だけだから、《 $0$ が連続している》や 《いつも右端に $1$ が来る》や《左右対称》みたいな性質に気付きやすいのかな」

ユーリ「ふーん……」

$2$ 進法

ユーリ「ところで、 $2$ 進法って $0$ と $1$ しか使わないの?」

「えっ! そうだよ。だって、 $2$ 進法だと、 $2$ になったら繰り上がりが起きるから」

ユーリ「あ、そっか」

「ほんとにわかってるのかなあ」

ユーリ「わーってるって」

「 $0,1,2,3,4,5,\ldots$ を、 $2$ 進法で数えられる?」

ユーリ「えーと、たぶんね。最初 $0$ でしょ。次が $1$ で、そん次が $10$ (イチゼロ)」

「そら、そこで繰り上がりが起きてるよね。 $1$ に $1$ 足したら、 $2$ 進法だと $10$ になる。繰り上がりして $2$ 桁の数になった」

ユーリ「そだね。ユーリ、表を作れるよ」

$10$ 進法と $2$ 進法の対応表 $$ \begin{array}{rr} \text{ $10$ 進法} & \text{ $2$ 進法} \\ \hline 0 & 0 \\ 1 & 1 \\ 2 & 10 \\ 3 & 11 \\ 4 & 100 \\ 5 & 101 \\ 6 & 110 \\ 7 & 111 \\ 8 & 1000 \\ 9 & 1001 \\ 10 & 1010 \\ 11 & 1011 \\ 12 & 1100 \\ 13 & 1101 \\ 14 & 1110 \\ 15 & 1111 \\ \vdots & \vdots \\ \end{array} $$

ユーリ「ね? ちゃんとわかってるでしょ?」

「そうだね。ライプニッツの言う通り、この表だけでもパターンがいくつか見えるよね」

ユーリ「縦読みするんでしょ? 一番右端の数は $0,1,0,1,0,1,\ldots$ になってる」

「うん。一番右端の数は、 $2$ 進法の《 $1$ の位(くらい)》だね。この数が $0$ ならば偶数だし、この数が $1$ ならば奇数だ」

ユーリ「それから、縦読みすると、右から二番目の数は $0,0$ と $1,1$ がかわりばんこ」

「右から二番目の数は、 $2$ 進法の《 $2$ の位》になるね。 $10$ 進法だと《 $1$ の位》《 $10$ の位》《 $100$ の位》《 $1000$ の位》……になるけど、 $2$ 進法だと《 $1$ の位》《 $2$ の位》《 $4$ の位》《 $8$ の位》……になるんだよ」

ユーリ「ふんふん」

$10$ 進法と $2$ 進法の位(くらい)


「じゃ、ここでクイズを出すよ」

ユーリ「なになに?」

「 $10$ 進法で書いたときに $19$ になる数を、 $2$ 進法で書いたらどうなる?」

ユーリ「わかんない。覚えてないもん」

「がく。お兄ちゃんだって覚えていないよ。どうなるかを考えてほしいんだけど」

ユーリ「えー……あ、そっか。さっき $15$ までの表を作ったから、そこから始めればいっか。 $15$ が $1111$ で、 $16$ が $10000$ で、 $17$ が $10001$ で、 $18$ が $10010$ だから、 $19$ は $10011$ だ!」

「はい正解。 $10$ 進法で $19$ と表す数は、 $2$ 進法では $10011$ と表せるね」

$10$ 進法と $2$ 進法(続き) $$ \begin{array}{rr} \text{ $10$ 進法} & \text{ $2$ 進法} \\ \hline \vdots & \vdots \\ 14 & 1110 \\ 15 & 1111 \\ 16 & 10000 \\ 17 & 10001 \\ 18 & 10010 \\ 19 & 10011 \\ \vdots & \vdots \\ \end{array} $$

ユーリ「かんたんだよ」

「じゃ、 $39$ を $2$ 進法で書いたらどうなる?」

ユーリ「おんなじじゃん!  $20$ のときは $10100$ ……みたいに書いてけばいーよね! めんどいからやりたくないけど」

「うん、そういうと思ったよ。ユーリがさっきやったみたいに、 $1$ ずつ増やしていく方法は悪くない。でも、大きな数を $2$ 進法で表そうとしたときには、 すごくめんどうなことになってしまうよね」

ユーリ「そだね……でも、他に方法あるの?」

「それが問題になる」

問題1
$10$ 進法で書くと $39$ になる数を、 $2$ 進法で書くとどうなるか。

ユーリ「どーすんのかにゃあ……」

「たとえば、こんなやりかたがある。 $10$ 進法で書かれた数を読むときに $1,10,100,1000,10000,\ldots$ と唱えるよね」

ユーリ「うん、やるやる。いち、じゅう、ひゃく、せん、まん」

「 $2$ 進法でもそれと同じようにやってみる。ただし、 $1,2,4,8,16,32,\ldots$ と唱える」

ユーリ「 $2$ 進法だから $2$ 倍に?」

「そうだね。いま調べたいのは $39$ の書き方だから、 $39$ に近くなるまではその方法を使う。 $\underbrace{1,2,4,8,16,32}_{\text{$ 6 $個}}$ だから、 $2$ 進法で $100000$ という $6$ 桁の数は $32$ になる。 あとはこれに $10$ 進法の $7$ 、つまり $2$ 進法の $111$ を足せばいい。 $2$ 進法で $100000 + 111$ を計算すれば $100111$ だね。これが $39$ に相当する」

ユーリ「 $7$ ってどっから来たの?」

「すでにわかった $32$ から、いま表したい数 $39$ まで進むのにあと $7$ ってこと。つまり $39 - 32 = 7$ だね」

ユーリ「あ、そっか、わかった」

解答1
$10$ 進法で書くと $39$ になる数を、 $2$ 進法で書くと $100111$ になる。

「いまのは、自分が $2$ 進法で表したい数の近くまでは、倍々で進んでいくという方法だね。これだと $1$ ずつ増やすよりずっと楽だ」

ユーリ「でもさー、もっと大きな数だとやっぱりめんどくなるよ」

「うん、そろそろ一般的に《 $10$ 進数を $2$ 進数で表す方法》を考えた方がよさそうだ。そもそも、 $10$ 進法で $39$ になる数が、 $2$ 進法で $100111$ と書けるというのは、 どういうことかを考えてみよう。これは、こういうことなんだ」

$$ \begin{align*} 39 & = 32 + 4 + 2 + 1 \\ & = 2^5 + 2^2 + 2^1 + 2^0 \\ & = \BIGUL{1}\cdot2^5 + \BIGUL{0}\cdot2^4 + \BIGUL{0}\cdot2^3 + \BIGUL{1}\cdot2^2 + \BIGUL{1}\cdot2^1 + \BIGUL{1}\cdot2^0 \\ \end{align*} $$

ユーリ「?」

「つまり、 $39$ という数を、 $1,2,4,8,16,32,\ldots$ という $2$ の冪乗(べきじょう)の数の《和》の形で 表しているということ」

ユーリ「あー、そーだった。そんな話してたねー」

「 $39$ という数は、 $32, 4, 2, 1$ という $2$ の冪乗の和に書ける。これはそれぞれ $2^5, 2^2, 2^1, 2^0$ という形。 途中の $2^4$ と $2^3$ は飛ばしている。これを入れちゃうと $39$ は作れないから。 どの数を使って、どの数を飛ばすかは、 $1$ を掛けるか $0$ を掛けるかで表す。 $2$ 進法では $2$ の冪乗を使うことになっているから、 あとは、その $1$ と $0$ の並びさえわかればいいってことになる。 このときの $1$ と $0$ の並びが《 $2$ 進法で書かれた数》すなわち《 $2$ 進数》になる」

$$ 39 = \BIGUL{1}\cdot2^5 + \BIGUL{0}\cdot2^4 + \BIGUL{0}\cdot2^3 + \BIGUL{1}\cdot2^2 + \BIGUL{1}\cdot2^1 + \BIGUL{1}\cdot2^0 $$
下線部の $1$ と $0$ の並びは $100111$ になる。

ユーリ「ふんふん」

「この《 $2$ の冪乗のうち、どれを足してどれを足さないか》を表したものが $2$ 進数だとわかっていれば、 $10$ 進数を $2$ 進数に変換する方法も見つけることができるんだよ」

ユーリ「へー!」

「ひとことでいえば《繰り返して $2$ で割って余りを調べていく》というやり方なんだ」

ユーリ「どゆこと?」

この続きは有料会員登録をすると
読むことができます。
cakes会員の方はここからログイン

1週間無料のお試し購読する

cakesは定額読み放題のコンテンツ配信サイトです。簡単なお手続きで、サイト内のすべての記事を読むことができます。cakesには他にも以下のような記事があります。

人気の連載

おすすめ記事

ケイクス

この連載について

初回を読む
数学ガールの秘密ノート

結城浩

数学青春物語「数学ガール」の中高生たちが数学トークをする楽しい読み物です。中学生や高校生の数学を題材に、 数学のおもしろさと学ぶよろこびを味わいましょう。本シリーズはすでに12巻も書籍化されている大人気連載です。 (毎週金曜日更新)

この連載の人気記事

関連記事

関連キーワード

コメント

yurusu11 https://t.co/V2y49peeEO これ見たらだいぶわかった 『かんたん合格 ITパスポート教科書 平成28年度 CBT対応』 0分 https://t.co/mFQ7uPLRPC #studyplus 4年弱前 replyretweetfavorite

aramisakihime 2、3回ぶんのテーマ・ボリュームがあります。 >  約5年前 replyretweetfavorite

shiano_blue 整数で遊ぼうだけ持ってない…。 約5年前 replyretweetfavorite

chibio6 途中何度か躓きながらも理解した。わかるとうれしい。 約5年前 replyretweetfavorite