19.1.1 n進数

普段使っている10進数の場合には, 「0」から「9」までの 10個の文字(記号)を使います. 最も大きな数を表す 9 に対して,さらに 1 が加わると, その桁は 0 に戻るとともに,1つ上の桁に 1 が加えられます. n進数 とは,各桁に n種類の数字(文字)を用いる数の表現形式です. 各桁では 0 から n-1 まで表現することが可能で, さらに 1 加わって n になると桁上がりがおきます.

m桁の10進数で表現できる数は,どの位あるでしょうか? 各桁あたり10種類の可能性があり,それが m桁あるわけですから, 全部で 10の m 乗通りになります. たとえば,4桁の10進数であれば, 0 から 9999 までの 10000 通りの数が表現できます. 逆に p 通りの可能性を数えあげるためには,10進数であれば log10p 桁が必要になります. 一般に m桁の n進数であれば,nのm乗通りの情報が表現可能ですし, n進数で p通りの情報を表現するためには lognp桁が必要です.

計算機関連で良く用いられる n進数表現としては, 2進数,8進数,16進数などがあります. 2進数 は,各桁に「0」と「1」の2種類の文字のみを用いる表記方法です. 各桁は,それぞれ2通りの可能性を持ちますから, 2進数 m桁で表現できる数は 2mになります. これに対して, 8進数 では各桁に「0」から「7」までの8種類の文字を用い, 16進数 では各桁に「0」から「9」までの10種類の文字に加えて 「A」から「F」までの6種類の文字を使います. 「A」は10進数の「10」,「F」は10進数の「15」にそれぞれ相当します. ここで注意しておきたいのは, 8 = 23,16 = 24という点です. つまり,8進数の1桁は2進数の3桁に,16進数の1桁は2進数の4桁に, それぞれ正確に相当します. このことは後で説明する n進数表現の変換で重要な意味を持ってきます.