ライプニッツを夢中にさせた2進数のお話

2進数は神の数?ライプニッツを夢中にさせた2進数のお話

微積分学の創始者、ライプニッツ

現在のコンピュータの内部では、数は2進数で表現され、2進数をもとに設計されています。2進数の重要性に最初に注目したのは17世紀の大数学者ライプニッツです。ライプニッツは、現在の微積分学の創始者の一人とされている数学史における重要な人です。父親が大学教授だったため、幼いころからギリシア語やラテン語の文献を読み、古代哲学や幾何学の勉強をしていますが、神学にも傾倒しています。21歳の時には錬金術協会に入って金を作ろうとしています。

ライプニッツが2進数に意味を見出したのは、数学上のことからではなく、神秘主義的なことからであったようです。彼はある伯爵への手紙の中で、「2進数は10進数と違って、宇宙の完全性を表し、10進数よりもはるかに多くの意味を含んでいる」と述べています。つまり「神は1を、無は0 を表し、2進数は無からの宇宙の創造」を意味していたのです。ライプニッツは、中国にキリスト教の伝道に赴くイエズス会の導師たちにこの知識を伝えるように述べています。

--Advertising--

10進数と2進数:数の表現方法

私たちは子供の頃から数に慣れ親しんできましたが、数といえば10進数、つまり10進法によって表記された数のことでそれ以外のものはほとんどお目にかかったことがないと思います。ですから、「数といえば10進数だ」と頭にこびりついていて、2進数などの他の表現はなかなか理解しづらいようです。

また、“10進数”とか“2進数”という言葉の意味についても少し注意が必要です。この言葉は「数の種類」のことを言っているのではなく、「数の表わし方」つまり「数の表現のしかた」のことを言っているのです。私たちが日本語で「みっつ」とか「三」といっても、あるいは英語で “three” といってもみな同じ数 “3” を意味します。つまり 3 という数は世界に一つしかなく、単に表現が違うだけなのです。ですから、“10進数”とか“2進数”という用語は誤解されやすいので本当は、“10進表現”とか“2進表現”と呼んだ方がよいのですが、すでに言い習わされた表現なのでここでは慣例に従うことにします。

10進数とは?

日本では、大きな数を表すのに便利な記法を使用します。たとえば 304005060 は、三億四百万五千六十 と書き表すことができます。大きい数を扱う場合、単に数字を並べるよりこのように表記した方が数をとらえやすくなります。今回は、漢数字の代わりに算用数字を使って 「 3億4百万5千6十 」のように表すことにします。ここで用いた「 億,万,千,百,十 」などを桁標識と呼びます。ソロバンをご存知の方は、各桁の上に桁標識が書かれたソロバンを思い浮かべてください。ソロバンになじみのない方は、下の図のように桁標識が付いたが並べられていると考えてください。一番右端の箱(最下位の箱)には桁標識がついていません。

各箱には 0 から 9 までの数字の一つが入ります。

10進数の考え方

たとえば 6, 5, 4, 3, 2 がそれぞれの箱に入った場合、これが表す数値は「 6万5千4百3十2 」となります。

10進数の考え方

このように、10進数は「1から9までの数字を入れた箱が並んだもの」をイメージしてみてください。

--Advertising--

2進数とは?

次に2進数を考えてみましょう。下の図のような箱を用意します。2進数の場合、箱に入る数字は 0 か 1 です。

2進数の考え方

それぞれの箱に 1、0、1、0、1を入れてみましょう。この2進数が表す数は以下のようになります。

2進数の考え方

ヤードポンド法

厳密な意味では2進法というわけではありませんが、古代には2倍、2倍、と増えていく単位系はいろいろありました。たとえば、次はヤードポンド法の液体の容量を表す単位系です。

ジル、チョピン、 パイント、クォート、 ポトル、ガロン、ペック

ジルが最小単位で、2ジル=1チョピン、2チョピン=1パイント、 2パイント=1クォート、… といったように、2倍すると上の単位となります。このような2進の単位系では数字は使わず、たとえば「9ジル」は「パイントとジル」というように表します。イギリスやアメリカはいまでも尺貫法(ヤードポンド法)が使われており、上の単位系もワインを計量するときに使われているようです。

--Advertising--

貨幣系の例で2進数を考える

外国の単位系は私たちにはなじみがないので、想像上の貨幣系を考えます。次の6枚の硬貨を考えましょう。

2進数 貨幣系

この6枚の硬貨を使えば、61円までの金額ならいくらでも支払うことができます。つまり6種類の硬貨を一枚ずつ用意すれば、組み合わせによってどんな金額にでもできるのです。

42円を支払う方法 – 1

たとえば 42円を支払う方法を考えてみましょう。32円硬貨が使えるので、これを使います。残りは 42 – 32 = 10円です。16円硬貨は使えませんから、8円硬貨を使います。10 – 8 =2円となります。2円硬貨は使えます。

2進数 貨幣系

すると、使った硬貨は32円、8円、2円となります。使った硬貨を1で、使わなかった硬貨を0で表し、上の桁から並べると「101010」となります。この 10101010進表現 422進表現です。

42円を支払う方法 – 2

こんどは2で割っていく方法で、10進数 42 を2進数に変換しましょう。1円硬貨が42枚あったとします。まずこれを2円硬貨に両替します。すると、2円硬貨が 21枚となります。2円硬貨を1枚使うことにします。20枚の2円硬貨を4円硬貨に両替すると、10枚の4円硬貨になります。これを8円硬貨に両替すると、5枚の8円硬貨になります。8円硬貨を1枚使います。残りの4枚の8円硬貨は2枚の16円硬貨に、2枚の16円硬貨は1枚の32円硬貨となります。

2進数 貨幣系

10進表現 42 の2進表現は?

次の図1は上で述べた「引いていく方法」の計算表、図2 は「2で割っていく方法」です。

10進表現 42の2進表現は?

図1 の中央の欄は 1, 2, 4, … を逆さまに並べた列です。左の欄から中央の欄を引き、引けたら右の欄に 1 を、引けなかったら 0 を記入します。図2では、左の欄を2で割っていきます。左の欄が奇数なら右の欄に1を、偶数なら 0 を記入します。2進数は、図1 では上から下へ、図2 では下から上に読みます。

2進数のソロバン

視覚的に2進数を理解するには、図3 のような各桁に珠が1個のソロバンを考えるとよいでしょう。

2進数のソロバン

図3 のソロバンでは、32桁、8桁、2桁の珠が上がっており、16桁、4桁、2桁の珠が下がっています。したがって、このソロバンは2進数「101010」を表しており、10進数では「32+8+2 = 42」を表しています。

--Advertising--

2進数は扱いづらい?

「2進数は桁数が大きくなりすぎて人間が扱うには向いていない」という意見をよく聞きます。たしかに小さな数の場合は10進数に比べ桁数が大きくなりますが、大きい数の場合はどうでしょうか。次の 100個の硬貨を考えましょう。

2進数 貨幣系

硬貨 100枚程度なら、少し大きめの財布なら十分に入ります。2¹⁰⁰は 2×2× … ×2 と2を100個掛けたものです。また〔完全数のお話〕で述べたように、2¹⁰は10³より大きいので2¹⁰⁰は以下のように計算できます。

2進数 貨幣系

このように、2¹⁰⁰円 は世界中のお金をかき集めたよりもはるかに大きな金額となります。たった100枚の硬貨があれば、世界中で扱われているどんな金額でも表すことができるのです。

SNS RSS

更新情報やまなびの豆知識を
お届けしています。

スポンサーリンク