質問: 10進法を8進法に直すという問題はわかるのですが、何進法かわからないものを何進法か特定するやり方がわ 10進法を8進法に直すという問題はわかるのですが、何進法かわからないものを何進法か特定するやり方がわかりません。 以下の問題が8進法だとどうすればわかりますか。 下の計算 (a) は, 10進法とは異なる記数法の上に成り立っている。 同じ記数法を用いて計算 (b) を行うと, その積はどのように表されるか。 計算(a) 5606 計算(b)314×27 +4473 ──── 12301 解説 この記数法がn進法であるとする。 計算 (a)の一の位を見ると, 6+3=□1となっている。 これは, 6+3=9という値が, n進法では繰り上がって残りが1になった,ということである。 また計算(a) には「7」という数字があるので、 n>7である。この両方の条件を満たすnは8しかなく, この記数法は8進法 であることがわかる。 とあるのですが、何故この条件で7進法とわかるのですか? 何進法か明記されてない時の何進法かの割り出し方がわかりません。
回答: >10進法を8進法に直すという問題はわかるのですが、何進法かわからないものを何進法か特定するやり方がわかりません。 ただぼっと見ただけでは区別はつきません。 計算過程で、「桁上がり」などがあれば、それで判断します。 また、「n進数」に使われる数字は 0 ~ n-1 (10進数であれば 0~9、2進数であれば 0~1) ですから、そんなものから判断します。 > 計算 (a)の一の位を見ると, 6+3=□1となっている。 10進数なら「9」となるところが「1」となっているので、桁上がりして残りが「1」ということです。 「8進数」で「8 + 1」のため、「8」は一つ上の桁に桁上がりし、残った「1」がその桁になっているのです。 >n>7である。この両方の条件を満たすnは8しかなく, この記数法は8進法 であることがわかる。 上に書いたように「7」が使われていたら「8進数以上」ということです。 n進数で書かれた「abcd.efg」という数は a × n^3 + b × n^2 + c × n^1 + d × n^0 + e × n^(-1) + f × n^(-2) + g × n^(-3) というように書けることを、 n=10 (10進数)、n=2 (2進数)、n=8 (8進数)、n=16 (16進数) などで確認してみることをお勧めします。 (16進数の場合には、10→a, 11→b, 12→c, 13→d, 14→e, 15→f という数値を使わないと表記できません。もし質問者さんが情報系で16進数を扱うようであれば、ここできっちり学んでおくとよいと思います。「16進数、8進数、2進数」の書き換えなども)