情報処理 進数の変換
コンピュータの世界は「0、1」の2進数で成り立っている。その2進数を慣れ親しんだ10進数に変換したり、2進数を人間が読み取りやすい8進数や16進数に変換したりしたときのメモです。
2進数と10進数の変換
2進数「1011.101」を10進数に変換する
10進数に変換するには、各桁ごとに重み付けをすればいい。
1×(2の3乗) + 0×(2の2乗) + 1×(2の1乗) + 1×(2の0乗) . 1×(2の-1乗) + 0×(2の-2乗) + 1×(2の-3乗) 1×8 + 0×4 + 1×2 + 1×1 . 1×1/2 + 0×1/4 + 1×1/8 8 + 0 + 2 + 1 + 0.5 + 0 + 0.125 = 11.625
よって、2進数「1011.101」を10進数で表現すると「11.625」になる。
10進数「11.625」を2進数に変換する
まず、整数部(11)と少数部(0.625)に分ける。
整数部は、商がゼロになるまで2で割り続ける。そして余りを下から並べる。
11 ÷ 2 = 5 余り 1 5 ÷ 2 = 2 余り 1 2 ÷ 2 = 1 余り 0 1 ÷ 2 = 0 余り 1 下から並べると、1011。
小数部は、積の小数がゼロになるまで2で掛け続ける(積の小数だけを引き継ぐ)。そして積の整数を上から並べる。
0.625 × 2 = 1.25 0.25 × 2 = 0.5 0.5 × 2 = 1.0 上から並べると、101。
よって、10進数「11.625」を2進数で表現すると「1011.101」になる。
ちなみに少数部の計算は、永久にループする場合もある。
2進数と8進数と16進数の変換
力技で対応表を書いて変換する
2進数と8進数と16進数の変換は、慣れないうちは対応表を書いてしまったほうが早い。そして何度も書くことで頭に叩き込む。
10進数 | 2進数 | 8進数 | 16進数 |
---|---|---|---|
1 | 0001 | 1 | 1 |
2 | 0010 | 2 | 2 |
3 | 0011 | 3 | 3 |
4 | 0100 | 4 | 4 |
5 | 0101 | 5 | 5 |
6 | 0110 | 6 | 6 |
7 | 0111 | 7 | 7 |
8 | 1000 | 10 | 8 |
9 | 1001 | 11 | 9 |
10 | 1010 | 12 | A |
11 | 1011 | 13 | B |
12 | 1100 | 14 | C |
13 | 1101 | 15 | D |
14 | 1110 | 16 | E |
15 | 1111 | 17 | F |
16 | 10000 | 20 | 10 |
2進数「01110101」を8進数と16進数に変換する
16進数は4桁に、8進数は3桁に、後ろの方から区切って対応させる。
0111(=7)|0101(=5)| 2進数「01110101」を16進数で表現すると、75 01(=1)|110(=6)|101(=5)| 2進数「01110101」を8進数で表現すると、165
平成30年度【春期】【秋期】応用情報技術者 合格教本 (情報処理技術者試験)
- 作者: 大滝みや子,岡嶋裕史
- 出版社/メーカー: 技術評論社
- 発売日: 2017/12/08
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る