皆さんこんにちは、武田塾豊中校です!
今年の共通テストから新たに「情報」が追加されましたね。
今回はそんな情報の中でも最も基本的であるとともに最も重要な分野である、n進数について話していきたいと思います。
n進数は、PCのIPアドレスなど実際に利用されております。
特に、2進数、10進数、16進数はしっかり理解をしておいた方が良いところになります。
この記事が少しでも皆さんの参考になれば幸いです。
では行きましょう!
n進数とは
n進数とは、n種類の数字を用いた数の表現方法のことです。
例えば、私たちは普段、数を表現するときは、0から9までの、10種類の数字を使っていますよね。
つまり私たちは普段、10進数を使っているのです。
私たちは、10種類の数字だけを用いて、どれだけ大きな数でも、小数でも、あらゆる数値を表すことができています。
10以外のn進数でも、n種類の数字だけを用いて、すべての数を表すことができます。
では、それはどう表すのでしょうか。
10進数では、10倍ごとに桁を上げることによって、すべての数を表現することを可能にしています。
それと同じようにn進数も、n倍ごとに桁が上がります。
そうやってすべての数を表現することができます。
ここからは、より具体的に、情報の世界でよく使われる2進数、8進数、16進数について話していきたいと思います。
2進数
2進数では、0と1のみを用いてすべての数を表現します。
先ほども述べたように、n進数では、n倍ごとに桁が上がります。
そのため2進数は2倍ごとに桁が上がります。
具体例を用いて説明すると、
10進数における0は、2進数でも0,
10進数における1は、2進数でも1,
しかし、
10進数における2は、2進数では2を使うことができないので、桁を一つ上げて、10となります。
10進数では10倍ごとに桁が1つ上がるため、10進数において、下からn番目の桁における1は、10^(n-1)を表します。
つまり、下からn番目の桁における1の価値は10^(n-1)であるともいえます。
具体例を用いると、353653の6桁目における1の価値は100000つまり、10^5であることが分かると思います。
353653はそれを3個持っているので、300000を持っているといえます。
2進数でも同じように考えてみましょう。
2進数では2倍ごとに桁が1つ上がるため、2進数において、下からn番目の桁における1は、2^(n-1)の価値を持っています。
2進数で表された1101110という数字の7桁目における1の価値は64つまり、2^6であることが分かると思います。
1101110はそれを1個持っているので、64を持っているといえます。
この考え方は大切なのでしっかり覚えておいてほしいです。
2進数から10進数
2進数から10進数にする方法を説明します。
例えば、100010という数字を10進数にするときは、2^5+2^1=32+2=34となることが分かります。
この計算式を導く際に先ほど説明した考えを使います。
100010は、今6桁目と2桁目に1を持っていることが分かると思います。
6桁目の1は2^5の価値を持っており、2桁目の1は2^1の価値を持っています。
そのため、100010の表す数は、2^5と2^1を合わせた数で、34となります。
10進数から2進数
10進数から2進数にする方法を説明します。
例えば、19という数字を2進数にするときは、19=16+2+1=2^4+2^1+2^0となり、2進数で表すと10011となります。
2^4+2^1+2^0を2進数にすると10011となるのは、さっきしたことの逆の操作をしているだけなので簡単だと思います。
19を2^nだけを用いた式に変形させることさえできれば、あとは簡単に2進数に直すことができます。
少数の表し方
今までは整数のみを表してきました。
では小数はどのように表すのでしょうか。たとえば、10進数における0.1は1/10つまり、10^-1と書けます。
0.01は1/100つまり10^-2と書けます。1/10することで桁が1つ下がっていると思います。
つまり、1より小さい世界においても、10倍すると桁が1つ上がるという法則は成り立ち、10^nのnは負の数も取り得るといえます。
2進数においても同じように考えると、2進数における0.1は2^-1、つまり1/2を表し、0.01は2^-2つまり1/4を表します。
具体的に考えてみましょう。
2進数における0.01011を、10進数に直すときは2^-2+2^-4+2^-5=1/4+1/16+1/32となります。
nが正の時と同じようにすることができます。
10進数における0.625を2進数にする時も、
nが整数の時と同じように、0.625=0.5+0.125=1/2+1/8=2^-1+2^-3という風に、
0.625を2^nだけを用いた式に変形させると、
2進数にしたときに、0.101となることが簡単にわかると思います。
8進数
8進数は0から7の8種類の数字を使います。
2進数の仕組みが分かっていれば、ほとんど同じなので簡単に理解できるかと思います。
2進数では2倍ごとに桁が上がっていましたね。
8進数では8倍ごとに桁が上がります。
つまり8進数では、下からn番目の桁における1は8^(n-1)の価値を持っています。
具体例を用いて考えてみましょう。
8進数における41703は10進数では何を表すでしょうか。
2進数と同じ考え方を用いると、8^4×4+8^3×1+8^2×7+8^1×0+8^0×3となります。
2進数と異なるところは、8進数では、0と1だけではなく2~7も使うことができるということです。
そのため、2進数では、その桁に1があるかないかだけを見ればよかったけど、8進数では1が何個あるかまで見る必要があります。
しかし、そこだけ気をつけておけば、あとは簡単です。
次に、10進数における194を8進数で表してみましょう。
2進数の時と同じ考え方を用いると、194=64×3+8×0+1×2なので、8進数にすると、302となることが分かります。
16進数
16進数では、16種類の数字を使います。
しかし皆さんが知っている数字は0~9までの10種類だけですよね。
そのため、16進数では、0~9までの10種類の数字に加えて、A~Fまでの6種類の文字を使います。
この時、Aは10、Bは11、Cは12、Dは13、Eは14、Fは15を表しています。
文字が増えて少しややこしくなったと思われますが、考え方は2進数と同じです。
16進数では16倍されるごとに桁が一つ上がります。
つまり16進数では、下からn番目の桁における1は16^(n-1)の価値を持っています。
具体例を用いて考えてみましょう。
16進数におけるA7438Bは、10進数では何を表すでしょうか。
2進数と同じ考え方を用いると、16^5×10+16^4×7+16^3×4+16^2×3+16^1×8+16^0×11となります。
文字が使われていてややこしそうに見えますが、他は2進数や8進数の時と同じなので、落ち着いて考えれば簡単です。
次に10進数における2718を16進数を用いて表してみましょう。
2進数の時と同じ考え方を用いると、2718=256×10+16×9+1^14なので、10進数にすると、A9Eとなることが分かります。
まとめ
今回はn進数について話しました。
n進数は、問題をたくさん解いていく中で扱いに慣れていきます。
皆さんも、このブログを読んだだけでは、まだ、n進数の扱いを完全に理解できたとは言えません。
ぜひこれからn進数に関する様々な問題を解き、解いていく中で自分の中での理解を深めていってくれたらいいなと思います。
最後までご覧いただきありがとうございました。
武田塾豊中校 『校舎情報』『合格実績』『校舎長からの挨拶』『講師紹介』
〇武田塾豊中校 校舎HP 下記画像をクリック
〒560-0021
大阪府豊中市本町1丁目3-19
長尾第一ビル 3階B号室
TEL:06-6842-7574 FAX:06-6842-7584
〇【校舎案内】武田塾豊中校ってどんな校舎?合格実績、校舎の雰囲気、講師紹介
武田塾豊中校までの道のり(豊中駅から徒歩4分)
SNSもやっています!ぜひフォローしてください^^
▼Twitter▼
Follow @takedatoyonaka