\(n\)進法

\(n\)進法

\(n\)進法

\(a_m n^m+a_{m-1}n^{m-1}+…+a_0 +a_{-1}n^{-1}+a_{-2}n^{-2}… \)

\(\bf =a_m a_{m-1} …a_0 . a_{-1} a_{-2} …\, \rm (0≤a_i<n)\)

この記法を\(n\)進法という

メリット

\(n\)進法は数の表し方であり、無限個ある数が\(n\)個の数だけで表現できるようになる

例(十進数)

我々が普段使っている記法
\(301.21_{(10)}=3\cdot 10^2+0\cdot10^1+1+2 \cdot 10^{-1}+ 2 \cdot 10^{-2}\)

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

\(10\)進数への変換

我々は\(10\)進数の演算に慣れているので簡単に変換できる

例(二進数)

コンピュータで用いられる数の記法
\(1001.1_{(2)}=1\cdot 2^3+0\cdot 2^2+ 0\cdot 2^1+1+1 \cdot 2^{-1}\\ \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, =9.5_{(10)}\)

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

整数部と小数部

全ての\(n\)進数で共通しているのが少数部が\(1\)未満を表すということ,よって\(n\)進数を考える時は整数部と小数部を切り離して考えられる

十進数から\(n\)進数への変換(整数部分)

(商を\(n\)で割り続ける)

\(a_m n^m+a_{m-1}n^{m-1}+…+a_0 \)
商: \(a_m n^{m-1}+a_{m-1}n^{m-2}+a_1\) 余り: \(\bf a_0\)
商: \(a_m n^{m-2}+a_{m-1}n^{m-3}+a_2\) 余り: \(\bf a_1\)



商: \(a_m n+a_{m-1}n^{0}\) 余り: \(\bf a_{m-2}\)
商: \(\bf a_m\) 余り: \( \bf a_{m-1}\)

これらを並べて
\(\bf a_m a_{m-1} …a_0 \rm (0≤a_i<n)\)

例(二進数)

\(23_{(10)}\)を二進数に変換せよ
(\(2\)で商を割ってゆく)

\(商:11 余り:1\)
\(商:5 余り:1\)
\(商:2 余り:1\)
\(商:1 余り:0\)
よって\(10111_{(2)}\)

十進数から\(n\)進数への変換(小数部分)

商に\(n\)をかけ続け,出てきた整数部分を並べてていく、整数部分は\((0≤a_i<n)\)を守るため適宜除去する
(太字が整数部分)

\(a_{-1}n^{-1} +a_{-2}n^{-2}+…+a_{-m}n^{-m} \)

\(\bf a_{-1}\rm +a_{-2}n^{-1}+…+a_{-m}n^{-m+1} \)
\(\bf a_{-2}\rm +a_{-3}n^{-1}+…+a_{-m}n^{-m+2} \)



\(\bf a_{-m+1}\rm +a_{m}n^{-1}\)
\(\bf a_{-m}\rm \)

これらを並べて
\(\bf a_{-1} a_{-2} …a_{-m}\rm (0≤a_i<n)\)

例(二進数)

\(23.75_{(10)}\)を二進数に変換せよ
(\(2\)をかけていく)

\(0.75 \times 2=1.5 整数部:1\)
\(0.5 \times 2=1 整数部:1\)
よって\(0.11_{(2)}\)
上の結果と合わせて\(23.75_{(10)}=10111.11\)