『進数変換』の電卓

この電卓は39万1495回使われています
数値
変換方法
進数
進数

スポンサーリンク

このページを友達に教える

電卓の使い方

進数変換したい数値を入力し、変換方法を選択後、「計算」ボタンを押してください。

入力できる数値は整数・少数・分数に対応しています。(整数・少数は2進数から36進数まで、分数は10進数のみ対応しています)

変換方法で「n進数→n進数」を選択すると、進数の値が入力できます。

計算をやり直す場合は「クリア」ボタンを押すと入力された数値が削除されます。

目次

進数変換の解説

数値はいずれかの進法によって表現されます。2進法や10進法など。この進法で表現された数値のことを進数と言います。2進法で表現された数は2進数、10進法で表現された数は10進数という具合です。

日常的に使われているのは10進法で1つの位を「 0 1 2 3 4 5 6 7 8 9 」の10個の記号を使って表現します。10進法では1つの位で最も大きいのが「9」なので、その次の数値は位があがって「10」となります。

コンピューターの内部で使われているのが2進法です。2進法は1つの位を「 0 1 」の2個の記号で表します。1つの位で最も大きいのが「1」なので、その次は「10」「11」「100」...という順番になります。10進法と2進法を比較した表は以下をご覧ください。

10進法12345
2進法11011100101
10進法678910
2進法110111100010011010

あと数学の問題で良く使われるものに16進法があります。16進法では1つの位で16個の記号が必要になるため、数字のほかにアルファベットが使われます。つまり16進法では「 0 1 2 3 4 5 6 7 8 9 A B C D E F 」の16個の記号を使って数が表現されます。

10進法1〜910111213
16進法1〜9ABCD
10進法1415161718
16進法EF101112

ここではこの進法で表現された進数の変換方法を解説します。例えば10進数の「8」を2進数に変換するというような事です。

10進数からn進数への変換(整数)

10進数をその他の進数に変換する場合、対象の10進数を変換する進法で割って余りを出していきます。例えば10進数を2進数にする場合は2で割り続けます。割れなくなったら余りの数字を下から並べたものが変換されたn進数の数値となります。

▼10進数の「18」を2進数に変換

218... 0
29... 1
24... 0
22... 0
1

18(10) = 10010(2)

10進数から16進数に変換する場合は16で割り続けて余りを出していきます。ただし、16進数はアルファベットも使いますので9より大きい数字が余りに出たときはアルファベットへの変換が必要になります。

▼10進数の「1250」を16進数に変換

161250... 2
1678... 14(E)
4

1250(10) = 4E2(16)

これが10進数からn進数への変換方法です。特に難しい計算ではありませんが、下から並べることと10進法より大きい進法に変換する場合はアルファベットへの変換が必要になる場合があることに注意してください。

n進数から10進数への変換(整数)

上の章で10進数からn進数の変換を解説しましたが、こちらでは逆にn進数から10進数への変換を解説します。例えば2進数を10進数にするなどです。

n進数を10進数に変換する場合、まずn進数を位(くらい)別に分解します。そして、それぞれの位にnの(桁数-1)乗を掛けて足し合わせます。言葉だけで説明するとイメージしにくいと思いますので下の例をご覧ください。

▼2進数の「101」を10進数に変換

= 1×22 + 0×21 + 1×20
= 4 + 0 + 1
= 5

101(2) = 5(10)

ここでは計算方法をわかりやすくするために全て途中式を書いていますが、nの0乗は必ず1になるので途中式を書く場合に省略することもあります。また0になにを掛けても結局0なのでこの部分も省略されることもあります。

16進数から10進数への変換も考え方は同じです。ただし10進法より大きい進法の場合、アルファベットを使うので位の記号がアルファベットの場合は数字に変換して計算をおこなう必要があります。

▼16進数の「3F5」を10進数に変換

= 3×162 + F(15)×161 + 5×160
= 768 + 240 + 5
= 1013

3F5(16) = 1013(10)

10進数からn進数への変換(少数・分数)

こちらでは少数の10進数をn進数に変換する方法を解説します。例えば10進数の「0.3」を2進数や16進数に変換するというようなことです。

少数の10進数をn進数に変換する場合、変換する少数の値にnを掛けます。もし整数が「1.5」のように0より大きくなったら整数を0にして「0.5」にnを掛けます。これを少数がなくなるまで繰り返します。少数がなくなったら整数部分を上から並べると変換後の少数部分が作成されます。

▼10進数の「0.375」を2進数に変換

0.375 × 2 = 0.75
0.75 × 2 = 1.5
0.5 × 2 = 1.0

0.375(10) = 0.011(2)

上記の例では最終的に少数部分がなくなって変換できましたが、何度も同じ計算をおこなって無限に終わらずに無限小数となることもあります。

では、「5.25」のように整数と小数からなる10進数はどのように計算するかというと、整数と少数を別々に計算して合わせます。整数の計算方法は10進数からn進数への変換(整数)で解説した方法になります。

▼10進数の「5.25」を2進数に変換

<整数部>

25... 1
22... 0
1

<少数部>

0.25 × 2 = 0.5
0.5 × 2 = 1.0

5.25(10) = 101.01(2)

整数は下から上、少数は上から下に並べることに注意してください。

少数の10進数を16進数に変換する場合も計算方法は同じです。ただし10進法よりも大きい16進法はアルファベットを使いますので、整数が9よりも大きくなった場合はアルファベットへの変換が必要になります。

▼10進数の「0.90625」を16進数に変換

0.90625 × 16 = 14.5 (14=E)
0.5 × 16 = 8.0

0.90625(10) = 0.E8(16)

▼10進数の「44.875」を16進数に変換

<整数部>

1644... 12(C)
2

<少数部>

0.875 × 16 = 14.0 (14=E)

44.875(10) = 2C.E(16)

分数の10進数をn進数に変換する場合も同様の計算方法で変換することができます。分数で計算する場合は答えを帯分数にして算出して整数部分を上から並べることで変換できます。

▼10進数の「
5
16
」を2進数に変換
5
16
 × 2 = 0
10
16
10
16
 × 2 = 1
4
16
4
16
 × 2 = 0
8
16
8
16
 × 2 = 1
5
16
(10) = 0.0101(2)

上記の例では約分せずに計算を進めてますが、分母が大きい場合には約分しながら計算を進めたほうが計算が簡単になります。約分はしてもしなくても結果は同じになります。

帯分数の10進数を変換する場合も少数と同じで、整数部と少数部に分けて計算をおこないます。ちなみに仮分数で分子が分母よりも大きい場合には帯分数にして計算をおこないます。

▼10進数の「3
1
4
」を2進数に変換

<整数部>

23... 1
1

<少数部>

1
4
 × 2 = 0
2
4
2
4
 × 2 = 1
3
1
4
(10) = 11.01(2)

n進数から10進数への変換(少数)

ここでは少数のn進数を10進数に変換する方法を解説します。例えば、2進数の「0.101」を10進数に変換するといった具合です。

少数のn進数を10進数に変換する場合、少数の位に分解してそれぞれに1/n(少数位乗)を掛けて、それらを足します。こちらも例を見てみたほうがよくわかるかと思います。

▼2進数の「0.101」を10進数に変換

=  1×
1 
21
 +  0×
1 
22
 +  1×
1 
23
1
2
 +  0  + 
1
8
5
8
= 0.625

0.101(2) = 0.625(10)

分数の計算があるため、少しややこしいですが難しい計算ではありません。変換した数値が無限小数になることもあるので分数で答えとする場合もあります。

では「11.01」のように整数と小数があるパターンの変換も例をあげたいと思います。この場合、整数はn進数から10進数への変換(整数)で解説した方法で算出して小数で算出した値と足すことで変換がおこなえます。

▼2進数の「11.01」を10進数に変換

=  1×21  +  1×20  +  0×
1 
21
 +  1×
1 
22
=  2  +  1  +  0  + 
1
4
= 3
1
4
= 3.25

11.01(2) = 3.25(10)

小数の16進数から10進数への変換も同様に計算ですが、アルファベットを数字に変換する作業が必要になることがあります。

▼16進数の「0.C8」を10進数に変換

=  C(12)×
1 
161
 +  8×
1 
162
12
16
 + 
8
256
25
32
= 0.78125

0.C8(16) = 0.78125(10)

▼16進数の「1A.E」を10進数に変換

=  1×161  +  A(10)×160  +  E(14)×
1 
161
=  16  +  10  + 
7
8
= 26
7
8
= 26.875

1A.E(16) = 26.875(10)

進数変換の問題例

10進数の「8」を2進数に変換しなさい
28... 0
24... 0
22... 0
1

8(10) = 1000(2)

10進数の「210」を16進数に変換しなさい
16210... 2
13(D)

210(10) = D2(16)

10進数の「0.25」を2進数に変換しなさい

0.25×2 = 0.5
0.5×2 = 1.0

0.25(10) = 0.01(2)

10進数の「15.75」を16進数に変換しなさい

<整数部>

1615... 15(F)
0

<小数部>
0.75×16 = 12.0 (12=C)

15.75(10) = F.C(16)

10進数の「
1
8
」を2進数に変換しなさい
1
8
 × 2 = 0
2
8
2
8
 × 2 = 0
4
8
4
8
 × 2 = 1
1
8
(10) = 0.001(2)
2進数の「1011」を10進数に変換しなさい

=  1×23  +  0×22  +  1×21  +  1×20
= 11

1011(2) = 11(10)

16進数の「6C」を10進数に変換しなさい

=  6×161  +  C(12)×160
= 108

6C(16) = 108(10)

2進数の「11.1」を10進数に変換しなさい
=  1×21  +  1×20  +  1×
1 
21
=  3
1
2

= 3.5

11.1(2) = 3.5(10)

16進数の「0.C」を10進数に変換しなさい
=  C(12)×
1 
161
3
4

= 0.75

0.C(16) = 0.75(10)

関連ページ

よく見られているページ