• 締切済み

N進法を分かり易く教えて下さい。

問題 2進法で「1000110」で表される数がある。 次の問題に答えなさい。 (1)10進法で表しなさい。 (2)5進法で表しなさい。 です。 宜しくお願いします。

みんなの回答

  • queuerev2
  • ベストアンサー率78% (96/122)
回答No.3

記数法(N進法)そのものの解説はNo.1様とNo.2様のよい解説がありますので、 2つの記数法の間の変換方法についてもう少し解説致します。 やや無理矢理かもしれませんがまとめるなら、変換後の記数法でかけ算と足し算を行うか、返還前の記数法で割り算を行うかのどちらかの方法を使う、と言うことが出来ます。 N進法からM進法へ変換するとして 1.M進法でかけ算と足し算を行う方法 N進法の数の各桁についてN^(桁位置)をかけてそれらを合計する。計算はM進法で行う。(a^bはaのb乗をあらわします)  2進法の数1000110を10進法に変換するには、10進法で以下のように計算する。  2^6×1+2^5×0+2^4×0+2^3×0+2^2×1+2^1×1+2^0 = 64+4+2 = 70 2.N進法で割り算を行う方法 N進法の数をMで割る。続けて商をMで割り、商が0になったら終了。 あまりを下の桁から上の桁に順に並べたものが求めるM進法の数になる。 なお、割り算はN進法で行うことになる。  10進法の数70を5進法に変換するには、10進法で以下のように計算する  70÷5 = 14 あまり 0  14÷5 = 2 あまり 4  2÷5 = 0 あまり 2  商が0になったのでこれで終了  あまりを順に並べて 240 ご覧の通り、具体的な方法についてはNo.1様やNo.2様と同じです。 さらに付け加えると、通常は簡単に手計算を行うことが出来るのは10進法だけなので、NかMのどちらかが10でない場合(たとえば2進法から5進法へ変換する場合)は、最初にN進法を10進法に変換し、それをM進法に変換するのが素直なやり方になります。 質問者様が提示された問題もそのような構成になっていますね。 (長くなるので省略しますが、2進法または5進法で直接計算が出来るなら、2進法と5進法の間の変換も10進法を使わずに1回でできます)

aina5128po
質問者

お礼

とても詳しく教えていただき有難うございました。 助かりました。

回答No.2

数aのN進表示をa(N)と書きます. 例:a(10)=123⇔a=1×10^2+2×10+3×1:ふつう10進表示するのでa=a(10)です. (1)a(2)=1000110⇔a=1・2^6+0・2^5+0・2^4+0・2^3+1・2^2+1・2^1+0・2^0=64+4+2=70=a∴a(10)=70 (2)a(5) 5^3=125 5^2=25 5 であるから, a=2・5^2+4・5+0 より a(5)=240 ※a(2)やa(5)やa(10)に表れた数字をみると,a(N)に現れる数字は0,1,・・・,N-1であることが分かります.Nになると次の桁に上がるわけです.例えば,a=75のとき a=2・25+5・5+0だからa(5)=250とは書かないで,5・5は桁が上がってa=3・25,a(5)=300となります.

aina5128po
質問者

お礼

回答有難うございました。 助かりました。

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.1

2進法で1000110という7桁で表わしている数は、いちばん右の桁から、 2の0乗=1 2の1乗=2 2の2乗=4 2の3乗=8 2の4乗=16 2の5乗=32 2の6乗=64 という重みがかかっています。 10進法で1234という4桁で表わしている数は、いちばん右の桁から 10の0乗=1 10の1乗=10 10の2乗=100 10の3乗=1000 という重みがかかっているので、 1×1000 + 2×100 + 3×10 + 4×1 = 1234となるのと同じ理屈です。 上記で述べた「何とかのn乗」の「何とか」が、 何進法であるか(上記の例では2進法、10進法)を示しています。 さて、 2進法で1000110という7桁で表わしている数を10進法で表わすと、 1×64 + 0×32 + 0×16 + 0×8 + 1×4 + 1×2 + 0×1 =64 + 4 + 2 =70 となります。 これを5進法に直すには、「5で割ったあまりを右から書いていく(いちばん最後は商も)」という方法を用います。 なぜそうすればよいかは、10進法の70について、「2で割ったあまりを右から書いていく(いちばん最後は商も)」と 1000110になることで確認してください。 70÷5 = 14 ... 0 14÷5 = 2 ... 4 もう5で割れません。よって、2進法で1000110(つまり10進法で70)を 5進法で表わすと240となります。 確認 5進法で240という3桁で表わしている数は、いちばん右の桁から、 5の0乗=1 5の1乗=5 5の2乗=25 という重みがかかっています。 したがって、5進法で240という3桁で表わしている数を10進法で表わすと 2×25 + 4×5 + 0×1 =50 + 20 =70 確認終了

aina5128po
質問者

お礼

良くわかりました。 有難うございました。 助かりました。