- ベストアンサー
数学での10進数からn進数への変換
こんにちは。10進数からn進数に変換するには10進数の数をnで割ったあまりを並べればよいと習ったのですが…。やり方は理解できるのできるのですが、なんでそうすうるとn進数へ変換できるのですか???高校数学の範囲で証明できるのならば教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
基本的にはCupNakaさんの回答に準じます。 例えばxという十進数を二進数にしてみます. (xを2で割ったときの商をa、余りをr)x=2a+r (aを2で割ったときの商をb、余りをs)a=2b+s よって、x=2(2b+s)+r =2^2b+2s+r (bを2で割ったときの商をc,余りをt)b=2c+t よって、x=2{ 2(2c+t)+s } +r =2^3c + 2^2t + 2s + r … このように考えていけば、すだれ算の仕組みは理解できるのではないでしょうか。 今漸化式を用いて証明しているのですが、なぜかうまくいかない…でも、考え方はあっていると思います!
その他の回答 (3)
- kony0
- ベストアンサー率36% (175/474)
昔の回答を引っ張り出してきました。 「イメージ」onlyですがいかがでしょう?
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
あるかずAをx進で表現したとすると A=kn*x^n+…+k3*x^3+k2*x^2+k1*x^1+k0*x^0 で表現できます。 この式をよく見て、 質問文の手順を考えてみると、 例えば、式全体をxで一回割ってみると、 k0が余りになることがわかります。 そこであまりを取り除いて、 xの次数を一個減らします。 また、xで割ります。するとk1がわかりますね。 以下同じ。
- CupNaka
- ベストアンサー率22% (13/57)
長くなってしまいましたが、あまり自身の程はないのです… 10進数で例をとっていきます。 10進数というのは1つの桁が0~9までの10種類で成り立ちます。 9の次、すなわち10になると桁上がりが発生し1と0で「10」という数字になります。 n進数はnという数になると、桁上がりが発生するということです。 質問の内容ですが、分かりやすく例をあげて10進数の1234という数を、同じ10進数で表してみます。 10進数を10進数で割るということです。 割る数 余り 1234 | 4 ↑ 123 | 3 12 | 2 ↑ 1 → となって、1234という数が得られるのはご存知かと思います。 なぜ10進数の数値をn進数のnで割るのかというと、この例の"10"という値が、n進数での桁上がりになるからです。 例の表で得られた4は、10進数の桁上がりにも満たない端数としてただの4ですので、 10^0×4=4です。(10^0=1) 3は1度の除算の端数、つまりは桁上がりが1回必要な数値ということで10^1×3=30 2は2度の除算の… … という具合になり、(1*4)+(10*3)+(100*2)+(1000*1)=1234となります。 つまりは、余りの段落は桁の重みを含む数 × その次の重みでの端数を表している、ということです。