1進数メモ
●ペアノの公理は表記法を定義しない
ペアノの公理においては、1を基数として1'(1の次の数)を置き、これを再帰的に使って 1''(1'の次の数), 1'''(1''の次の数), (…)と続くのが自然数で、どう表記しようとそれらは自然数である。
「1'''''''''''」を「111111111111(1進数)」「1100(2進数)」「12(10進数)」「C(16進数)」「十二(漢数字)」「Ⅻ(ローマ数字)」と表記しようが、それがいくら我々にとって実用的でなくとも、自然数に対応する記号であれば数字として解釈可能である。ある記号の抽象度が数字として機能しうる程度にあるかどうかは数学の命題たりえず、したがって数学の本質的な問題にはならない。
そもそも記号の抽象度とはなんだろうか。1進法は一定の桁数を超えると表記しづらい。しかし一定の桁を超えると表記しづらくなるのは10進法でもどの表記法でも同じである。また、ローマ数字は4000以上の数を表現する標準的な記法を持たないが、ローマ数字は数字ではないのだろうか。
●1-1という概念に便宜上の記号"0"を導入してもいいが、しなくてもいい
ペアノの公理はあくまで自然数Nの概念のみを定義するのであって、整数Z、有理数Q、実数R、複素数Cと拡張するにはその都度新たな記号を定義する手続きを踏む。
0は(一般に数論では)自然数Nの範疇には存在しない概念で、整数Zへ拡張する際に新たに定義される(1の前の数を記号"0"とし、以降の数は負の符号"-"と絶対値で表現する)。つまり1-1を新たに数字として定義した記号「"0"」で表すならば、1進数においても「1-1」への回答は「"0"」で、1進法における整数は「…, -111, -11, -1, 0, 1, 11, 111, …」と表現できる(ここで生じる整数の表現体系は2進数とは異なる)。ただし導入せずとも0の概念を「1-1」自体で表現することは出来ているため、0を使いたくなければ「1-1」の回答は「1-1」、整数を「…, -111, -11, -1, 1-1, 1, 11, 111…」と表現してもいい。玩具が一つもないことを1進法では「玩具が1-1個ある」と表現できる。
イメージとしては、実数Zにおいて「√-1」にあたる概念がないことから新たな記号「i」を定義し、「√-1 = 1i」と表記して複素数Cへ拡張する操作に似ている。「√-1 」を「 1i」と定義することはできるが、数の範疇を一度拡張してしまえば「√-1 」のままでも複素平面は表現できる。記号を定義するのは人が演算を行う際の利便性のためであり、ないと演算不能だからという訳ではない。
余談として、自然数に0を含めるという考え方もあるが、これはペアノの公理における基数を「0」と表記しただけである。(0, 0', 0'', 0''', ……)。10進法における「1」を1進法では「00」、「1-1 = 0」を「00-00 = 0」と書くことになる。この場合は「0-0」を「-0(10進法における-1)」と定義して負の数を導入すれば、数の範疇を自然数Nから整数Zに拡張することができる。
●電卓は2進法で10進法を計算しているが、これは10進法を否定することになるのだろうか?
●1進法の演算は筆算を用いて可能である。この筆算はコンピュータに模倣させることも可能である。
●そもそもコンピュータのバイナリと2進法は厳密には異なる(余談)
コンピュータにおけるマイナスの符号について考える。コンピュータのバイナリ(2進数)において8bitで整数を表記するなら、0と1からなる8桁の数字で数値をbit反転を用いて計算することになる。10進法における「1」は「0000 0001」で、「-1」は「1111 1111」である。しかしペアノの公理に基づく2進数の「11111111」は10進数において「255」であり、この時点でコンピュータのバイナリとペアノの公理に基づく2進法は異なる。
また、1進数では可能な演算がバイナリでは演算不能なことがある。それはメモリが表現可能な数値を超えた数の加算と減算(オーバーフロー)である。
先の符号付き8bitにおいては。127+1を演算しようとすると「(0111 1111) + (0000 0001)」となり、答えは「1000 0000」(-128)となる。これでは127+1が128と同値であることを表現できない。この例は、演算に使用する領域が8biteしかないために-128~127までの整数しか表現できないことに起因するが、すべてのコンピュータにおいてメモリは有限であり、演算に使用できる領域もまた限りがあるため、この表現不能性はすべての想定可能なコンピュータにおいて発生しうる。
これに対して1進数では、127つ並んだ1の左側に1を加えることによって127+1を演算でき、127+1が128と同値であることを表現できる。
すべてのn進数はペアノの公理と整数基づいていれば整数による無限の数直線が引けるのに対し、バイナリが示す整数の数列は円環である。それはさながらクラインの壺のように上限と下限が接続されており、後期ラカンが援用した……むにゃむにゃ……もう食べられないのだ……
この記事が気に入ったらサポートをしてみませんか?