2 位取り記数法

2.1 数の表現

通常使われている10進数では,0〜9までの10個の数字を使って,数を表現する.9の次 は10で桁が上がる.10進数以外にいろいろな数の数え方がある.2進数,10進数,16進数 の数の表現を図1に示す.合わせて,桁上がりという考えの無 い漢字や楔形文字,ローマ数字も併記する.桁上がりという考えが無い表記の場合,桁が 上がるたびに,新しい記号が必要であることがわかる.大きな数字を表す場 合,非常に不便である.また,筆算を用いた計算もできない.
図 1: 数の数え方
\includegraphics[keepaspectratio, scale=0.8]{figure/natural_number.eps}

2.2 現代の数の表現(位取り記数法)

現代の便利な数の表現は桁上がりの考えがあるからこそである.この桁上がりの考えは,ゼロ が発見されたので可能となった.このように桁上がりの考えで,数を示すのが位取り記数 法(place value sysytem)である.10進数は9の次で桁上がりが生じ10となる.0〜9の数字を使っ て,数を表すのである.この10を基数と,0〜9間での数を底と言う.10進数の他,いろい ろの基数の数が考えられるが,コンピューター科学で使われるのは,主に2進数と16進数であ る.それぞれの基数と底を表1に示す.

表 1: 基数と底
数の表現 基数
2進法 2 0, 1
10進法 10 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
16進法 16 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

1や表1から,自然数の数え方は理解 できたと思う.そうすると相互の変換ができれば,ある程度それを応用することができる ようになる.それぞれの変換を考える前に,数の表記方法について,勉強することにする. 位取り記数法での数の表し方が理解できれば,それぞれの変換が分かるはずである.

例えば,今年は2007年である.10進法の2007の表記はどのような意味があるか?. これは,次のように解釈する.大げさではあるが,こう解釈すると,他の基数の数字の意 味はっきりする.

$\displaystyle (2007)_{10}=(2\times 10^3+0\times 10^2+0\times 10^2+7\times 10^0)_{10}$ (1)

括弧の下の10は10進法の意味で,非常に簡単な話である.これさえ,分かれば基数の変換 なんか,怖くない.この式の右辺の$ \times$$ 10^p$をとって,それを並べたのが位取り 記数法である.
コーヒーブレイク ゼロがない時代は,大変だった.ゼロが無いと,式(1)の左 辺のような表記は出来ない.その0(ゼロ)が発見されたのは,6世紀頃のインドと言われ ている.西暦0年がないのは,このためである.キリストが生まれた頃は,ゼロがなかっ たのである.



ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
平成19年2月8日


no counter