#1 変数を覗いてみよう(7) (2000年2月13日 初版)

1.7 位取り記数法  2000年ではなくて、2001年をもって21世紀とするのは、実感として変な気 がします。以下は蛇足。

1.7.1 数の表現  位取り記数法(positional notation)ということばは知らなくても、これはわた したち誰もが使っている数の表現法です。しかし、人びとが現在のように算用数字を使 って紙の上で筆算するようになったのはそれほど古いことではありません。  わたしたちは(figure)の考えを使って、0〜9の10個の数字を組み合わせて数 を表現します。例えば、371は、 371 = 3 × 10^2 + 7 × 10^1 + 1 × 10^0 , ということであって、1の位が1、十の位が7で百の位が3です。  この位取り記数法がいかに有用であるかは、他の表記法と比較してみると明瞭です。 古代ギリシャ人は、アルファベットに数字を割り当てて表現しました。 α (1), β (2), γ (3), δ (4), ε (5), ....., θ (9), ι (10), κ (20), λ (30), μ (40), ν (50), ....., σ (90), ρ (100), σ (200), τ (300), υ (400), φ (500), ....., ω (800),  ...., Μ (10000), ..... といった具合です。これは、位取り記数法とは明らかに違います。  また古代ローマ人によるローマ数字はご存じでしょう。1〜10は、

ローマ数字 と表し、さらにもっと大きな数では、Lが50,Cが100,Dが500というように 表しました。今日でもローマ数字は使われています。しかしその用途が限られているこ とに注目しましょう。例えば、ローマ数字は時計の文字盤、年代あるいは、本の巻数や 章の番号などに使われています。これらはいずれも、ラベルとして使われているのであ って計算には使われません。  ローマ表記法がどのようなものか一例をあげます。アメリカの1ドル紙幣、ジョージ ・ワシントンの顔のお札です。この1ドル紙幣裏の左側の図柄の中に、次のローマ数字 が描かれています。

MDCCLXXVI
これは暗号解読のようなものです。この数字は1776で、この年は7月4日にアメリ カが独立した年ですね。では、解読しましょう。Mは1000です。   MDCCLXXVI は次のように分解されて、   M          =1000    DCC       = 500+100+100       LXX    =  50+ 10+ 10          VI  =           6 つまり、1776となります。
補足輝く目玉と未完成のピラミッド  米1ドル紙幣裏には、未完成のピラミッドの上に光り輝く目玉の図柄 があります。その下に例のローマ数字が描かれています。  このページを書いた後で知ったことですが、この図柄は1930年代 の大恐慌中にフランクリン・ルーズベルト大統領により使われ始めた紙 幣で、永続的な希望や繁栄のシンボルを意味するそうです。神の導きに よって、未完のピラミッドを建設するということです。これは、アメリ カの経済学者レスター・サローの『富のピラミッド』(邦訳、TBSブ リタニカ)からの孫引きです。この本は21世紀の経済は「知識」が富 を築くという、知識経済について述べたもので、サローはこれを「富の ピラミッド」と表現しています。
 位取り記数法が優れているのは、数字の各並びが桁を表していること。そのためどの ような数も10個の数字で表現でき、2つの数の大小関係が即座に分かること。そして 何より、紙の上で筆算による計算が容易であることです。その原理はまさに、桁上げ( carry)借り(borrow)を行うソロバンと同じです。  別の記数法を使っていた人たちは、まずは計算をソロバンなどで行い、計算結果を記 録する目的のためにローマ表記法なりギリシャ表記法で数を表していました。ソロバン は日本だけのものではありません。このあたりの事情については、吉田洋一著:『零の 発見』(岩波新書)に詳しく書かれています。  位取り記数法の要(かなめ)となるのが、0という数字です。0は単に空という意味 だけでなくそれを並べて書くことで桁を表します。単に、何もないという空の意味の記 号ならバビロニア人も使っていました。しかし、数の計算として0を使ったのが古代イ ンド人です。記号でなく計算として0を使うとは、たとえば   1を3で割ると、商0余り1   2を3で割ると、商0余り2 ということです。  インドで生まれた位取り記数法は、アラビア人を経てやがてヨーロッパにもたらされ ます。その間には、千年ほどの途方もなく歳月が流れています。西ヨーロッパで位取り 記数法による筆算が使われるのは、15世紀ころといわれています。  15世紀は中世ヨーロッパの終焉の時期です。並はずれて偉大な文明を築いたローマ 帝国(当時はビザンチン帝国)は1453年にオスマントルコによって滅亡します。ち ょうどこのころに古代インド人による「0の発見」と並ぶ、人類の文化史上最も画期的 な発明がなされます。ヨハネス・グーテンベルクによる活字印刷技術です。  このあまり行儀のよくない人物による発明が如何に偉業であったかは、その後の歴史 が示しています。例えば、1517年に始まるマルチン・ルターによる宗教改革。これ は情報革命の典型といえます。彼の著作物は、人文主義者たちのネットワークを通じて 広く流布されます。当時読み書きができる人はそう多くはなかったと考えられますが、 印刷の形態は書物だけでなく、絵入りの理解しやすいパンフレットやビラの形でも津々 浦々へと伝えられます。それがさまざまに波及して宗教改革を成功させます。  印刷術の発達は識字率の向上を促し、これまで一部の人たちが独占した知識を多くの 人びとに解放する役割を果たしました。文字によるコミニュケーションは、思考を働か せ、想像力を鍛えます。あわせて位取り記数法がヨーロッパの同時期に普及したことは、 その後の自然科学や産業の発展に不可欠な前提条件だったといえます。これも一例だけ あげると、イタリアの諸都市国家では14世紀頃には位取り記数法が日常的に使われて いました。これらは通商国家として栄えた国々です。中でもヴェネツィア共和国は、複 式簿記を発明し、銀行を創造します。現代に通じる経済技術の誕生です。

1.7.2 暦の変更  西暦はインド式記数法を採用する以前につくられたため、西暦の始まりは0年ではな く1年、世紀の始まりは1からです。だから、21世紀は2001年からです。ところ が、今度のミレニアムを機に2000年をもって21世紀の始まりとする国が多いそう です。  余談ながら、UNIXを使っている人は、カレンダーを表示するアプリケーション calで 次のような遊びをしたことがあるかもしれません。
% cal 9 1752                      
      9月 1752
日 月 火 水 木 金 土    
       1  2 14 15 16    
17 18 19 20 21 22 23    
24 25 26 27 28 29 30    
ヨーロッパでは1752年9月に、ユリウス歴からグレゴリオ暦に暦を変更しました。  日本では明治5年に現在のグレゴリオ暦に切り替わりました。明治5年12月2日の 翌日は、明治6年1月1日です。日本の旧暦は、太陰太陽暦といわれる月と太陽を組み 合わせた中国由来の暦で、月の満ち欠けを使うイスラム式の純粋な太陰暦とは違ってい ました。これは東アジアの農業を主産業とする地域では便利な暦であったようです。ま た月を見れば今日の日付が分かり、太陽の位置でいまの時刻が分かるようになっていま した。「明け六ツ、暮れ六ツ」の世界です。ただしこれは現在と違い、季節とともに時 刻の長さが変わる不定時法でした。  明治日本の改暦では、ほぼ一ヶ月分が無くなってしまって、損をした気持ちになった 人もいたでしょう。反対に、得した気になった人もいたでしょう。明治政府は国家予算 を、経営者は月給を一ヶ月分節約できたようにみえるから(日本では明治になって年俸 制から月給制に変わった)。

[補足]「明け六ツ、暮れ六ツ」の世界では1日を昼と夜に分けて、それ ぞれを6等分して一刻(いっとき)という時間の長さで表しました。昼夜 の境が明け六ツと暮れ六ツで、それぞれ太陽が水平線下にあるときの日の 出、日没の時刻です。時刻の呼び方は、明け六ツ、五ツ、四ツと減ってゆ き、そして正午(南中)に当たるのが九ツ。さらに八ツ、七ツ、暮れ六ツ となります。夜の数え方も同じで4と9の間しか使いません。なぜこの様 な数え方をしていたのかは、定かではありません。
 新ミレニアムに合わせて2000年から21世紀とする欧米の気分は、改暦に比べる と混乱もなさそうでむしろ自然にみえます。あまり杓子定規にならない方がよいようで す。日経新聞のコラム春秋では、「21世紀の始まりはいつかの認識の違いは、国際的 なコミュニケーションで混乱を招くもと」と、わざわざ述べています(2000年1月 16日朝刊)。

1.7.3 再び2進数について  話を戻しましょう。わたしたちは、0〜9の数字を使った10進数で数を扱います。 この10のことを基数(radix)あるいは(base)といいます。  数の性質そのものは、位取り記数法を使う限りでは基数の選び方に依りません。デジ タル・コンピュータは基数2の2進数を使います。10進数の数は2進数へ変換(基数 変換)できて、その逆も可能。10進数の演算結果は、2進数での演算結果と同じです。 [演習問題1.7] 次の2進数、循環小数 0.0001100110011............. を10進数に変換すると0.1になることを筆算で確かめなさい。 (ヒント)等比級数の和の計算を使います。  コンピュータが、2進数を使う理由の1つは、2通りにセットできる内部スイッチを もつ記憶装置を使っているからです。スイッチのオンを1、オフを0とすれば、これら のスイッチの配置を組み合わせることで数の表現ができるようになります。  たかが0と1のパターンですが、これがなかなか馬鹿にできないと言える例を示しま す。わたしたちは片手の指を使って数えるとき、普通は親指から順に指を折ってゆきま す。これだと5つまで。あるいは5本すべて折った後で逆順に開いていって、往復10 まで数えることができます。  ここで発想を変えて、指がビットだと考えます。つまり、指を伸ばした(開いた)状 態を0、折った(閉じた)状態を1とします。そうすると片手で5ビットの数が表現で きます。5ビットは、2^5 = 32つまり、1から31まで数えることができます。ただし、 手を開いた状態は0ということです。そして、両手を使えば1から1023まで数える ことができます。 [演習問題1.8] 実際に5本の指を使って、1から31までを数えてみてください。  2進数を使う理由のもう1つは、コンピュータに教える演算規則(演算回路)が簡単 になるからです。10進数の足し算や引き算規則の組み合わせは、10×10=100 通りあります。しかし2進数だと2×2=4つで済みます。あるいは別の言い方をすれ ば、掛け算の九九をコンピュータに教えるよりも掛け算の11の方が簡単です。次のペ ージでは、このコンピュータの四則演算の原理を調べます。

| 目次 | 前のページ| 次のページ |

Copyright(c) 2000 Yamada, K