進数
10進数 - 0~9までの数字を使い、9の次で桁上がりする。
2進数 - 0と1を使い、1の次で桁上がりする。
8進数 - 0~7までを使い、7の次で桁上がりする。
16進数 - 0~9までとA~Fまでを使い、Fの次で桁上がりする。
↓それぞれの関係
基数と重み対応表
基数は各桁の重み付けの基本となる数。
例:10進数123.45を表現する際、
1×10² + 2×10¹ + 3×10⁰ + 4×10-¹ + 5×10-²と表せる。
このように、N進数の基数はNです。
N進数から10進数への基数変換
ある進数で表現されている数値を別の進数で表現しなおす事を基数変換という。
2進数101.101を10進数で表すと5.625。
1 0 1 . 1 0 1 - 2進数
× × × × × ×
4 2 1 ½ ¼ ⅛ - 2進数の重みをかける
4+0+1 + 0.5+0+0.125 = 5.625 - 足す
N進数の値を10進数で表すには、各桁にN進数の重みを掛けて足す。
10進数からN進数への基数変換(割り算 ・ 掛け算ver)
10進数から2進数への基数変換
10進数5.625を2進数101.101へ基数変換
①整数部と小数部に分ける
(5と0.625)
②整数部の変換 - 2で割って余りを下から並べる。※商は引き継いでいく
5/2 = 2 余り1
2/2 = 1 余り0
1/2 = 0 余り1
整数部は101
③小数部の変換 - 2を掛けて整数部を上から並べる。※小数部のみ引き継いでいく
0.625 * 2 = 1.25 ->この場合は小数部の0.25を引き継ぐ
0.25 * 2 = 0.5 -> この場合は0.5
0.5 * 2 = 1.0 - 小数部分が0になったら終了。
小数部は101
このように10進数の値をN進数で表すには、整数部はNで割り余りを下から並べる。
小数部はNを掛け整数部を上から並べる。
注意点
10進数で桁数が有限な小数を2進数に変換する場合、有限桁数で表現できるとは限らない。
2進数と8進数・16進数の関係
2進数を8進数に変換
小数点を基準に2進数3桁は8進数1桁で表現する。
例:2進数1100.01を8進数で表現すると14.2になる。
①1100.01 - 2進数
②001|100|.|010※青字は補っている数字 - 3桁ずつ区切り、足りないなら0で補う。
③0 0 1 |1 0 0|.|0 1 0
× × × × × × × × ×
4 2 1 4 2 1 4 2 1 - それぞれに2進数の重みを掛ける。
④0+0+1|4+0+0|.|0+2+0| - それぞれを足す
⑤14.2になる - 8進数
2進数を16進数に変換
小数点を基準に2進数4桁は16進数1桁で表現する。
例:2進数1100.01を16進数で表現するとC.4になる。
①1100.01 - 2進数
②1100|.|0100※青字は補っている数字 - 4桁ずつ区切り、足りないなら0で補う。
③1 1 0 0|.| 0 1 0 0
× × × × × × × ×
8 4 2 1 8 4 2 1 - それぞれに2進数の重みを掛ける。
④8+4+0+0.|0+4+0+0| - それぞれを足す
⑤C.4になる - 16進数 ※12ではなく、Cになる
参考文献:イメージ&クレバー方式でよくわかる 栢木先生の基本情報技術者教室