2進数と16進数と10進数の相互変換を理解しよう!

2進数と16進数と10進数の相互変換を理解しよう!

※ 当サイトは広告を含みます。

ここでは2進数と16進数と10進数の相互変換を学びます。
n進数を理解できてない人は、こちらを参考にしてください。

2進数を10進数に変換する方法

これは全てのn進数に言える理論です。まずn進数の桁上りについて考えてみましょう。
n進数において桁が上がると言うことは、小さい位で表現できなくなったので、次の位を+1して、元の位を再度0から始めることです。
これは下位桁の数値が全て上位桁に加算されたことを意味します。

りさ

何も分かりませんでした。

管理人

10進数で考えると簡単だよ。桁の概念を使って10進数で128ってどんな数字だと思う?

りさ

100の位が1、10の位が2、1の位が8の数字です。

管理人

そうだね。これは単に1と2と8を繋げてるだけじゃないんだ。
実際には(100 x 1) + (10 x 2) + (1 x 8) = 128と言う式が成り立ってるよ。

この位の考え方が非常に大切になります。そして位で利用する数字はn進数のべき乗と同値となります。
10進数のべき乗は1, 10, 100, 1000, 10000 . . .と続きますが、〇〇の位と一致しますよね。

10のべき乗

これは2進数でも16進数でも同じです。それを踏まえて2進数のべき乗を考えてみましょう。
先に言っておくと、この数字は頻繁に使うので暗記した方がいいです。と言うか嫌でも覚えます。

2のべき乗
管理人

では、問題です。2進数で10100011を10進数にすると?

りさ

(1 x 128) + (0 x 64) + (1 x 32) + (0 x 16) + (0 x 8) + (0 x 4) + (1 x 2) + (1 x 1) = 163です。

10進数を2進数に変換する方法

次は10進数を2進数に変換する方法です。こちらもn進数の全てで同じことが言えます。
文字で書くと、10進数の数字をn進数のnで割り切れなくなるまで割ります。
その時の余りを記録しておき、逆に繋ぐと目的のn進数になります。

りさ

言葉って難しいですね。

管理人

そう言われると思って説明を用意したよ。10進数の175を2進数に変換してみよう。

10進数から2進数に変換する方法
りさ

やり方は分かったけど大変ですね。エンジニアの人は毎回こんな方法で変換してるんですか?

管理人

いい疑問だね。さっきの話はあくまで理論の説明だよ。
現実的な話をすると、さっきの筆算みたいな方法を真面目に使う人は居ないよ。

という事で、以降は現実的な変換方法と、そもそもの話をします。
理論を知るのは大切なこと、さっきの手法はどこかで役に立つかもしれませんよ。

2進数を10進数に変換する方法 (オススメ)

2進数を10進数にするのは簡単です。
正攻法と対して変わりませんが、以下の画像を頭に浮かべます。そして1になってる部分を全部足せば10進数になります。

2進数から10進数に変換する方法

10進数を2進数に変換する方法 (オススメ)

次に10進数を2進数にする方法です。こちらも先程の画像を頭に浮かべます。
そして2進数のどこに1を付けたら10進数になるのか、大きい位から順番に考えます。

10進数から2進数に変換する方法

10進数と2進数と16進数を変換する方法 (超オススメ)

先程の方法の欠点は大きな数字の計算が無理なことです。そんな時にオススメしたいのがこれ。
Windowの電卓を使います。そうコンピュータの力を借りるのです。

りさ

電卓で暗算部分を計算するの?

管理人

違うよ。Windowの電卓には入力された数字を10進数、2進数、16進数、ついでに8進数で表示する機能があるよ。

りさ

真面目に計算しろって怒られませんか?

管理人

この業界は優秀な人ほどツールを駆使して時短します。
そもそも人間の筆算なんて信用する方が無意味なので、コンピュータを信じましょう。

という事で、電卓で変換する方法です。

STEP
電卓を起動する。
操作説明 Step. 1
STEP
左側の3点メニューを選択する。
STEP
プログラマーを選択する。
操作説明 Step. 2
STEP
必要に応じて入力する進数を切り替える。
STEP
数値を入力する。
操作説明 Step. 4

あとがき

変換方法を理解してれば手で計算する必要なんてありません。何をするにもツールを使うことを考えましょう。
ついでに、もう一つの現実的な話をします。実は10進数や2進数をお互いに変換することは殆どありません。
それは2進数や16進数を使う場合、そのままの進数表現で使いたい場合が大半だからです。

簡単な例を上げるなら、2進数は0と1しか使えないので、それをONかOFFのフラグとして使う場合があります。
この使い方においては10進数にすることに意味がなく、そのまま2進数で使ったほうが価値があるのです。

◆ コンピュータサイエンスに関する学習コンテンツ

この記事は参考になりましたか?

関連記事

コメント

この記事へのコメントはありません。