n進数発声法について


渡辺ヤスヒロ

<はじめに>
 様々なものの多様化が叫ばれている現代社会においては、数の数え方一つとってもその例外ではない。コンピュータに関わる人ならずとも二進法や十六進法を耳にしたり口にしたりする機会が増えてきたと思われる。しかしながらその表現方法は、表記の仕方でこそ統一がなされているものの、発声法となるとまったくの野放し状態であると言わざるを得ない。そこでまちまちな十六進数等の非十進数の話し方について、正しく言い易い方法が必要であると考えた。

<現状>
 まず実際にどの様に使われているかを調査し、その中から今後の仕様にすべき使用法を選択するという方針で進められた。
 現在、一般的に使われている非十進数は、二、四、八、十六、六十進数であろう。中でも二、十六、六十進数はより一般的である。そして小学生でも知らぬ間に使ってしまっている位有名なのが六十進数である。これは、最も一般的であるがゆえに混乱の元にもなっているのである。
 学校でn進法を習ったのはいつだろうか、nを法とする集合とかの話ではない。多分中学だろうという気がする。その時にもまず時間が六十進法であるという話から始まったような記憶がある。確かに60秒で1分となり、60分で1時間になる。それには納得出来たのだが9分の次が10分になるのは十進数だからじゃないのかなあ、などと考えて混乱してしまうのであるが、そういうもんなんだとうやむやにしてしまう人も多いだろう。しかし厳密なn進数の定義では「n進数は数字をn個使用する」のである。だから時間を十進数と六十進数の入り交じったものと表現する人もいる。もし時間を六十進数とするならば1〜59までは十進数的に読めば二桁に見えるが一桁の数字であると定義すべきなのだ。
 さてもう一つ学校教育における弊害は、10の読み方である。十進数での10は、当然(じゅう)である。これを2桁目になった時の数値の読み方としてしまったために起こった勘違いは数知れないだろう。「八進数の(じゅうに)は、いくつだ?」「じゅうです。」こうした暗黙の了解が罷り通ってしまっている。次章ではこの発声法について詳しく述べることにする。

<発声法>
 ここでn進数の発声法について種類別に定義し、それぞれを分析しておこうと思う。
 まずは、良く使われる二桁の10(イチゼロ)を「じゅう」と発声する方法、これを疑似十進数法と呼ぶことにする。この疑似十進数法は使われる数字が十個以下の場合は十進数と全く同じ読み方になる。従って言い易いということもあり良く使われるのである。しかし言い方が同じと言うことは当然の事ながら混乱は避けられない。つまり予め伝える側と伝えられる側の双方に了解が無ければならないのである。その前置きはほぼ毎回必要であると言っても過言ではない。そうでなければあっと言う間に混乱してしまうのである。これは十個以上の数字を使う場合でも変わらない。むしろ0〜9までの数字だけを使う時とそうでない時、という違いが十進数とn進数との区別の様に感じられてしまうための混乱が多く起こることになると考えられる。
 欠点ばかりを述べたが利点もある。今が何桁目であるのかがすぐに判明することや、0(ゼロ)などの表現が十進数風に使えることなどである。しかし最大の欠点は、正しい値を言っていないことではないかと思われる。これは例えば10とか100とか1000などは「じゅう」、「ひゃく」、「せん」と発声する。しかし「じゅう」は十進数で9の次の数であり、「ひゃく」は十進数の99の次の数と言った具合で、n進数の”10””100””1000”の呼び名ではないと言うことなのである。
 そこで次に正しい値を発声する方法を考えてみた。名付けて正呼十進数法である。つまりn進数での10、100等を十進数での正しい値で表現しようというもので、図1を見て頂きたい。例えば1110と言う数字の並びは十進数では「千百十」でそのまま「せんひゃくじゅう」と読めば良い。これは千の桁に1、百の桁に1、十の桁に1の値があり、1を読むのを省いているからである。これが二進数であると1110は、八の桁に1、四の桁に1、二の桁に1の値があり、1を読むのを同じ様に省けば、「八四二〇(はちよんにぜろ)」又は「八四二(はちよんに)」と読むことになる。
 この方法は数学的に正しく、各桁の値を足していくとその数値の十進数表記が即座に知ることが出来るといった利点もある。しかし十進数ならばかなり大きな桁の呼び方でもそれほど長くはないし言い難くもなく、その上その桁の下にいくつ数字が並ぶのか大体分かるが二進数などの非十進数ではそうもいかない。「ろくまんごせんごひゃくさんじゅうろく」の桁と言ってもピンと来ないし、十六進数など使っていれば、F302は「えふよんせんきゅうひゃくじゅうろくさんにひゃくごじゅうろくとんでに」となりどれが桁の呼び名でどれがその桁の値なのかさっぱり分からなくなってしまう。ちなみに言い易い疑似十進数法では「えふせんさんびゃくに」である。
 これまでの方法では、十進数の発声法を導入しようとしたために混乱は免れ得なかった。そこで十進数の読み方ではなく、n進数独自の読み方を付けると言う方法を考えてみることにした。これを新呼称法と呼ぶことにしよう。表1を見てもらえれば意味が分かって頂けると思う。例えば十六進数のF302は「えふぴんさんぽん(とんで)に」と表現するということである。これならば十進数との混合も避けられる上に言い易く良いことづくめなのだが一般化していないことには意味がないのである。通産省あたりで規格を作って欲しいところである。それが一般化するとも思えないが。

表.1
二進 八進 十進 十六進
10 ちょん かん じゅう ぱん
100 じょん きん ひゃく ぽん
1000 しょん こん せん ぴん
   では次は、それぞれの桁での呼び方を無くした方法について考えて見たいと思う。
 これはn進数の表現方法としては現場で最も多く使われるものであろうと思われる。この無桁名法は、今が何桁目であるかとか、連続して言った時の前後の切れ目とかが分からなくなる時があるなどの欠点があるが、単純な数字の羅列として数値を見るために、その場で簡単に何進数にも応用が効き、そして伝えるのも楽なのである。一般的には数字だけを読み上げるだけであるために前述の様な事が起こってしまう。これを避けるために現場で考え出されたのが後付け無桁名法である。これは無桁名法的に数字だけを読み、読み終えた後に何進数かを示す冗長語を付けるのである。二進数ならば「バイナリ(ビン=BIN)」、八進数なら「オクト(=OCT)」、十六進数ならば「ヘキサ(=HEX)」(本来は「ヘキサデシマル」であるが)と、数字の後に続けて言えば数字の区切りであることも、何進数であるかもはっきりするというわけである。

 以上で一通りの発声法についての説明を終わることにする。代表的なものだけなので他にもあるとは思われるが、結論を出すには充分であると思っている。表2に例をまとめておいたので較べて見ると違いが良く分かると思う。

表.2
発声法 F302の読み方
疑似十進数法 えふせんさんびゃくとんでに
正呼十進数法 えふよんせんきゅうじゅうろくさんにひゃくごじゅうろくとんでに
新呼称法 えふぴんさんぽんとんでに
無桁名法 えふさんぜろに
後付け無桁名法 えふさんぜろにへきさ
 
<結論>
 ここまで話を進めてくれば如何に我々が十進数文化に侵されているか、結局数字(数値)は全てそれに支配されているかが分かって頂けたと思う。つまり十進数以外の数値の表現方法は人から人への伝達において常に十進数を介していると言えるのである。n進数から十進数に変換して発声し、聞いた方も数字を十進数としてして捕らえn進数に頭の中で変換する。さらに必要があればそれを十進数の数値に換算しなければその大きさが分からないこともある。
 しかしながら数学的に特別なセンスを持つ人や、必要によって感覚の磨かれた人など一部の人達はn進数を十進数を全く介さずに理解できるということもどうやら事実である。
 以上の点から考えても今現在、発声法を統一することはそれほどの意味を持たないと考えても良いだろう。では、それぞれにふさわしい方法を勝手に使っていればそれで良いのかと言うとそうではない。始めのうちはそれでも良いが非十進数文化が必要不可欠となるに違いない将来のためにやはりある方向を示さねばならないだろう。前述のうち最も言い易いだろうと思われるのは新呼称法である。しかしn進数の種類だけ呼び方を考えなければならないし覚えなければならない。そこで新呼称法の各桁の呼称を、何進数であるかということと何桁目であるかということから法則性のある名付け方を採用すれば良いのである。それによって今使っている十進数の各桁の呼称も通用しなくなることはやむを得ないだろう。現在この法則は研究開発中であると同時に広く公募するものである。実際にこの方法が必要になるのは十年以上先からであろうと思われる。それほどまでに強力な十進数文化時代の現在使うべき方法はずばり後付け無桁名法であり、そして使用してはならない方法は疑似十進数法なのである。如何に使い易いからと言って誤解を誘うような言い方は当然するべきではないからである。

<むすび>
 今回の研究発表は主に学校教育の甘さと実用性への転換がテーマであった。今後のn進数における両者の扱いが注目されることであろう。


<参考文献>
D.E.クヌース 「基本算法 基礎概念」 広瀬 健 訳  サイエンス社
 


論文リストへ