10進数をn進数に変換する計算式
数値のn進数表記は以下の方法で求めることができます。
数値がnより小さい場合はそのまま表記する。
もし数値がn以上の場合は数値をnで割った数を左の桁に移し、余りのn未満の部分を表記する。
次の桁の桁がnより大きい場合は更に左へ…と、すべての桁がn未満に収まるまで繰り返す。
10進数を16進数に変換する式
十六進法では16で桁が上がるので、10進数の数値を16で除算して余りを求める処理を繰り返すことで16進数に変換できます。
数値が16より小さい場合はそのまま表記する。
もし数値が16以上の場合は数値を16で割った数を左の桁に移し、余りの16未満の部分を表記する。
次の桁の桁が16より大きい場合は更に左へ…と、すべての桁が16未満に収まるまで繰り返す。
なお、十六進法では0から15までの数値を0から9までは数字、10から15まではA,B,C,D,Fとアルファベットを使用して一文字で表記します。
十進法 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
十六進法 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
F |
10 |
[例] 10進数の2445を16進数で表す
2445は16以上なので
2445 ÷ 16 = 152 余り 13
1桁目はDとなり、152を2桁目に移す。
152は16以上なので
152 ÷ 16 = 9 余り 8
2桁目は8となり、9を3桁目に移す。
9は16より小さいので
3桁目は9となる
すべての桁が16未満に収まった。
よって10進数の2445の16進数表記は
98D
10進数を2進数に変換する式
ニ進法では2で桁が上がるので、10進数の数値を2で除算して余りを求める処理を繰り返すことで2進数に変換できます。
数値が2より小さい場合はそのまま表記する。
もし数値が2以上の場合は数値を2で割った数を左の桁に移し、余りの2未満の部分を表記する。
次の桁の桁が2より大きい場合は更に左へ…と、すべての桁が2未満に収まるまで繰り返す。
[例] 10進数の71を2進数で表す
71は2以上なので
71 ÷ 2 = 35 余り 1
1桁目は1となり、35を2桁目に移す。
35は2以上なので
35 ÷ 2 = 17 余り 1
2桁目は1となり、17を3桁目に移す。
17は2以上なので
17 ÷ 2 = 8 余り 1
3桁目は1となり、8を4桁目に移す。
8は2以上なので
8 ÷ 2 = 4 余り 0
4桁目は0となり、4を5桁目に移す。
4は2以上なので
4 ÷ 2 = 2 余り 0
5桁目は0となり、2を6桁目に移す。
2は2以上なので
2 ÷ 2 = 1 余り 0
6桁目は0となり、1を7桁目に移す。
1は2より小さいので
7桁目は1となる
すべての桁が2未満に収まった。
よって10進数の71の2進数表記は
1000111
10進数を8進数に変換する式
八進法では8で桁が上がるので、10進数の数値を8で除算して余りを求める処理を繰り返すことで8進数に変換できます。
数値が8より小さい場合はそのまま表記する。
もし数値が8以上の場合は数値を2で割った数を左の桁に移し、余りの8未満の部分を表記する。
次の桁の桁が8より大きい場合は更に左へ…と、すべての桁が8未満に収まるまで繰り返す。
[例] 10進数の2445を8進数で表す
2445は8以上なので
2445 ÷ 8 = 305 余り 5
1桁目は5となり、305を2桁目に移す。
305は8以上なので
305 ÷ 8 = 38 余り 1
2桁目は1となり、38を3桁目に移す。
38は8以上なので
38 ÷ 8 = 4 余り 6
3桁目は6となり、4を4桁目に移す。
4は8より小さいので
4桁目は4となる
すべての桁が8未満に収まった。
よって10進数の2445の8進数表記は
4615
n進数を10進数に変換する計算式
t桁のn進数xがあるとします。
xの各桁の数値を右から順にx1、x2、x3...xtとすると、xが表す数値は
x1 + (x2 × n1) + (x3 × n2) ... + (xt × nt - 1)
で求めることができます。
あとは求めた数値をそのまま10進数で表記すれば、n進数から10進数への変換が完了します。
16進数を10進数に変換する式
右から順に各桁の数値に16の桁数-1乗を掛け、それらを合計した数値を10進数で表記します。
16進数xの各桁の数値を右から順にx1、x2、x3...xtとすると、xを10進数に変換する計算式は
x1 + (x2 × 161) + (x3 × 162) ... + (xt × 16t - 1)
なお、十六進法では0から15までの数値を0から9までは数字、10から15まではA,B,C,D,Fとアルファベットを使用して一文字で表記します。
十進法 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
十六進法 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
F |
10 |
[例] 16進数の98Dを10進数に変換する
= 13 + (8 × 161) + (9 × 162)
= 13 + 128 + 2304
= 2445
よって16進数の98Dの10進数表記は
2445
2進数を10進数に変換する式
右から順に各桁の数値に2の桁数-1乗を掛け、それらを合計した数値を10進数で表記します。
2進数xの各桁の数値を右から順にx1、x2、x3...xtとすると、xを10進数に変換する計算式は
x1 + (x2 × 21) + (x3 × 22) ... + (xt × 2t - 1)
[例] 2進数の10111を10進数に変換する
= 1 + (1 × 21) + (1 × 22) + (0 × 23) + (1 × 24)
= 1 + 2 + 4 + 0 + 16
= 23
よって2進数の10111の10進数表記は
23
8進数を10進数に変換する式
右から順に各桁の数値に8の桁数-1乗を掛け、それらを合計した数値を10進数で表記します。
8進数xの各桁の数値を右から順にx1、x2、x3...xtとすると、xを10進数に変換する計算式は
x1 + (x2 × 81) + (x3 × 82) ... + (xt × 8t - 1)
[例] 8進数の4615を10進数に変換する
= 5 + (1 × 81) + (6 × 82) + (4 × 83)
= 5 + 8 + 384 + 2048
= 2445
よって8進数の4615の10進数表記は
2445
2進数と16進数の変換計算式
16は2の4乗なので、0から15までの数値は4桁の2進数で表すことができます。
これは、16進数の1桁 = 2進数の4桁であることを意味しています。
この関係を利用することで2進数と16進数の変換を簡単におこなうことができます。
2進数を16進数に変換する式
まず、2進数を右から4桁ずつに区切り、それぞれを10進数に変換します。
4桁の2進数は0から15までの10進数になるので、それを1桁の16進数に変換します。
あとは求められた16進数をそのまま連結することで16進数への変換が完了します。
[例] 2進数の1001101101111を16進数に変換する
2進数を右から4桁ずつ区切る
1,0011,0110,1111
2進数の1 = 10進数の1 = 16進数の1
2進数の0011 = 10進数の3 = 16進数の3
2進数の0110 = 10進数の6 = 16進数の6
2進数の1111 = 10進数の16 = 16進数のF
よって
2進数の1001101101111 = 16進数の136F
16進数を2進数に変換する式
16進数から2進数への変換は、16進数の各桁の数値を4桁の2進数に変換して連結することで可能です。
[例] 16進数の136Fを2進数に変換する
16進数の各桁を4桁の2進数にする。
16進数の1 = 10進数の1 = 2進数の0001
16進数の3 = 10進数の3 = 2進数の0011
16進数の6 = 10進数の6 = 2進数の0110
16進数のF = 10進数の16= 2進数の1111
よって
16進数の136F = 2進数の0001001101101111
2進数と8進数の変換計算式
8進数は16進数と同様、8が2の3乗であることを利用して変換式を求めます。
8進数の場合は、8進数の1桁 = 2進数の3桁になります。
2進数を8進数に変換する式
まず、2進数を右から3桁ずつに区切り、それぞれを10進数に変換します。
3桁の2進数は0から7までの10進数になるので、それをそのまま連結することで8進数への変換が完了します。
[例] 2進数の10011101を8進数に変換する
2進数を右から3桁ずつ区切る
10,011,101
2進数の10 = 8進数の2
2進数の011 = 8進数の3
2進数の101 = 8進数の5
よって
2進数の10011101 = 8進数の235
8進数を2進数に変換する式
8進数から2進数への変換は、8進数の各桁の数値を3桁の2進数に変換して連結することで可能です。
[例] 8進数の235を2進数に変換する
8進数の各桁を3桁の2進数にする。
8進数の2 = 2進数の010
8進数の3 = 2進数の011
8進数の5 = 2進数の101
よって
8進数の235 = 2進数の10011101