n進数、n進法とは?わかりやすく図を用いて解説!

プログラミング
スポンサーリンク

中学受験や基本情報技術者試験などで必要となってくるn進数、n進法について、解説していきたいと思います。

普段使わないものですが、考え方は非常に簡単ですのでポイントを抑えてマスターしましょう♪

スポンサーリンク

n進数、n進法とは?

n進数,別名n進法は、数字を表すときに使う手法です。(以降、n進数と書きます。)

普段、私たちは数を0~9の10種類の数字を使って表しています。

例えば富士山の高さは3776mですが、3と7と6を使って表してますね。

このように、数が10個になるときに二つの数字を使って表す手法を10進数と言います。

つまり、「n種類の数字を使って数を表す手法のことをn進法」と言います

2進法は、0と1の数字を使って数を表します。

10個の数を表すときは、「1010」と書きます。

n進数の表し方:整数

それでは詳しく方法を見ていきます。

考え方は簡単で、n個の数を表すとき桁が一つあがり、次に桁が上がるのがnとnの掛け算(nの2乗)のときになります。

例として、2進数、3進数、5進数のときの表し方は以下になります。

では、11進数以降になるとどう書くのでしょうか?

それは英数字を使います。

11個を表す表記は「A」、12個を表す表記は「B」、とABCD…と書きます。

確認問題

それでは早速学んだことを確認していきましょう。

問1 2進数で「10110」と表しているとき、10進数で表せ。

問2 16進数で「A5C」と表しているとき、10進数で表せ。

 10進数で「10」と表しているとき、3進数で表せ。

問1 計算すると以下になります。

1×2^4+0×2^3+1×2^2+1×2+0=1×16+1×4+1×2=16+4+2=22

よって、答えは22です。

問2 計算すると以下になります。

11×16^2+5×16+13=11×256+5×16+13=2816+80+13=2909

よって、答えは2909です。

問3 計算すると以下になります。

a×3^2+b×3+c=9a+3b+c=10 (a,b,cには0~2までの数字しか入らない。)

これより、a=1,b=0,c=1となるので、 答えは「101」です。

n進数の表し方:少数

少数の考え方も整数のときと変わりません。

考え方は簡単で、1/n個の数を表すとき桁が一つ下がり、次に桁が下がるのが1/nと1/nの掛け算(1/nの2乗)のときになります。

スポンサーリンク

おまけ:無限少数

10進数で表すことができる数が、2進数になると表せない、「無限小数」になる数字があります。

例えば「0.5」という10進数で表した数は、「0.1」と2進数では表せます。

しかし、「0.05」という10進数で表した数は、「0.000011‥」と表現できません。

10進数でも「1/3」を少数で書こうとしても「0.3333‥」となって書けませんよね♪