fixedpoint.jp


2進法で任意の自然数を一意に表現できることの証明 (2020-03-07)

2進法で数を表すことは、計算機における計算の基礎です。形式的には、2進法は0と1の2つの文字からなる列を数に対応させる関数です。

ところで、2進法で任意の自然数を表現できることは自明ではありません。加えて、各自然数について2進法での表現が一意になるという点も自明ではありません。(ここでは位取り記数法での有限の01列に限って考え、無限列は考えません。)

こういった2進法の前提となる事実は、どの自然数もいくつかの相異なる2の冪乗の和で表せることから導かれます。すなわち、任意の自然数nについて、次を満たす非負整数の有限集合Knが一意に存在します: n=kKn2k.

まず次の補題が成り立つことに注意します(帰納法で簡単に証明できます): 任意の非負整数iについて2i=1+j=0i12j.

帰納法によりKnの存在が証明できます。n=1の場合はKn={0}です。n=m+1の場合、帰納法の仮定よりmに対してm=kKm2kとなるKmが存在します。Kmに含まれない最小の非負整数k0を取ると、補題からKn={k0}{kKmk0<k}と求められます。

一方、Knの一意性は次の命題から導かれます。非負整数の有限集合K,Kについて、KKならkK2kkK2k.実際、L:=KKL:=KKとおくと、空でないLL中の最大の要素lは、一般性を失わずにLに属すると仮定できます。このときLの各要素はlより小さいので、補題からlL2l2l>lL2lとなって題意が示されます。


© 2006-2023 fixedpoint.jp