2進数から10進数への変換は簡単である。式(
1)を理解して
いれば、分かる。2進数であろうが10進数であろうが、表記法は同じで、約束に従って変
形すれば良い。次のようにする。
この手中を順を追って説明すると、以下のようになる。
- まずは、1行目右辺のように位取り記数法で表現する。
- そうして、表1に従い、式を変換したい基数に直す。
- 後は地道に計算するだけ。
通常は、1行目の右辺は省き、2行目から計算する。
- 2進数の各桁の10進数での値(重み)を覚えておくと便利である。
1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096
今度は逆で10進数から2進数への変換である。原理的に、先ほどと同じように変換ができ
るが、計算してみるとそれは難しい
2。これ
は、我々は10進数の演算になれていることが原因となっている。自然には、10進数であろ
うと2進数であろうと優位性は無いからである。
10進数から2進数への計算手法は簡単であるが、その内容を理解することが大事である。
計算手法を忘れても、内容が理解できていれば、その方法はいつでも自分で作ることがで
きる。また、応用範囲も広がる。では、簡単な例で説明する。10進数のを2進
数に変換する方法を示す。具体的には、19を
|
(3) |
と表現したい。これは式(
2)の2行目の式で、ここで求められ
た係数を
と並べれば位取り記数法になる。それぞれ、
を求めなくてはならない。そこで、次のように19を2で割った商と余りを考える。これは、
|
(4) |
と書ける。これをよくにらむと、
ということが分かる。すなわち、
は19を2で
割ったあまりである。残りの部分は、
|
(5) |
となることも分かるでろう。商について同じことをすると、
|
(6) |
となる。したがって、
である。しつこいが、さらに商について同様に進めると、
となる。最後の式から、
が分かる。以上をまとめると
となる。要するに、2で割ったあまりを書いていけば良いのである。計算方法は分かった。
だがこの方法は実際的ではない。よく使われるのは、図
2の
ように2で割った余りを並べる。これは、
を示している。
内容を十分理解し、変換の練習をしなくてはならない。
2進数の変換が理解できたら、16進数の変換はまったくもって簡単である。
2進数と同じで次のようにする。
これも2進数と同様に考える。16で割ったあまりを並べれば良い。図
3のようにして、
を計算する。
手計算ではこの方法を用いるが、実際のエンジニアーは電卓の変換機能を使う。
コーヒーブレイク |
---|
昔から言われるジョークをひとつ。プログラマーは、クリスマス(12月25日)と
ハロウィーン(10月31日)が区別できない。なぜか?。ヒント
- 10進数(decimal number)のことをDECと書く。DEC 23 と書けば、10進数
の23をあらわしている。
- 8進数(octal number)はのことをOCTとかく。OCT 23 と書けば、8進数
の23を表している。
|
2進数と16進数の相互の変換は簡単である。
なので、2進数の4桁は16進数の一桁
に対応している。図
4のように、1桁の16進数を4桁の2進数に変換す
れば良い。反対に4桁の2進数は、1桁の16進数に変換できる。
ホームページ:
Yamamoto's laboratory著者:
山本昌志
Yamamoto Masashi
平成17年6月6日