基数の変換方法
◇
変換 (あ)
60進法を用いる時分秒の計算に 60 で割ったあまりを利用したように
10 進数から 2 進数に変換するには 2 で割ったあまりを順に求める。
12 ÷ 2 = 6 あまり 0
6 ÷ 2 = 3 あまり 0
3 ÷ 2 = 1 あまり 1
1 ÷ 2 = 0 あまり 1
(これから先はずっと 0)
10進数の 12 は 2進数の 1100
変換 (い)
2進数表記の定義にもとづき、2 進数から 10 進数に変換する
には2の冪乗を順に求めて「1」の桁だけ足し算する。
(その桁の数をかけて加えるのだが、桁の数は 0か1だけであり、
0をかけると0、1をかけると冪乗そのものになる。)
◇
これらの変換法は、人間が 10 進数表記による計算に慣れているため
計算を10進数で行なうことを考慮した方法になっている。計算機で行
なう時すなわちプログラムで行なう時は、必ずしもこの方法ではない。
変換 (あ)は、割算で商とあまりを求める演算ができれば実行できる。
この演算ができる「得意な基数表記」から「任意基数」への変換法と
考えられる。
「得意な基数表記」とは変換する実体にとって計算が容易に行
なえる表記であり、機械の場合「内部表現」といってもよいで
あろう。人間の場合は(たぶん)10 進数であり、コンピュータ
の場合は2 進数である。
変換 (い)は、かけ算と足し算の繰り返しで構成されており、
「任意基数」から、これらの演算が可能な「得意な基数表記」
への変換法と考えられる。
◇
2進数の演算:桁数が多いが10進数より簡単
2進数の足し算
0+0=0 1+0=0+1=1 1+1=10
2進数の掛け算
0*0=0*1=1*0=0 1*1=1
2進数の割算(商の各桁は1か0しかない)
例:361÷12 → 101101001 ÷ 1100
11110...1
----------
1100 )101101001
1100
-----
10101
1100
-----
10010
1100
-----
1100
1100
-------
1
第7回のノートのレポート課題7に戻る
戻る