- ベストアンサー
10進法から2進法へ。
こんにちは^^)今レポートをやっています。 2進法を10進法に直すやり方は、自分なりに理解できました。 ですが、10進法を2進法に直すとき、なぜ2で割り余りを明記していくのか、その理由がわかりません。しかも以下問題文の答えは、(101100)だと思うのですが、他の位は全て余りを明記してるのに、この数の一番大きい位の1だけは、3÷2=1あまり1の商を明記してるんですよね?なぜでしょうか? (問題) (108)10を2進法になおせ。 この問題で、わかりやすく説明していただけないでしょうか? よろしくお願いします。質問は、以下の2点です。 (1)10進法から2進法になおすとき、なぜ2で割りあまりを明記するのか? (2)なぜ、あまりだけを明記するのではなく商も明記するの??
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
2進数はなぜ2で割って余りを求めるのか、だけ説明します。 簡単のため、私の思った10進数を、あなたが10進数で表すことにします。(変ですが、理由はあとで分かります) 直接聞かないでください。例えばこう聞いてください。 「その数を10で割ったら、余りはいくつですか?」 私が「6」と答えたら、これは1の位の数だと分かりますね。 そうしたらまた聞いてください。 「さっきの答を10で割ったら、余りはいくつですか?」 さっきの答は、最初の数に比べて、桁が1つ落ちていることに着目してください。私が「4」と答えたら、これは10の位です。 これを続けていきます。そうすると、正体が1の位からバレてきますね。 これは2進数でも同じです。2で割って余りを求め、答は1桁落ちていく。この繰り返しです。
その他の回答 (6)
- y_akkie
- ベストアンサー率31% (53/169)
(1)10進法から2進法になおすとき、なぜ2で割りあまりを明記するのか? まず、10を基数とする数字を10進数と言いますよね。 例えば、(123)10であれば、10^2 + 2×10 + 3 といった形で表されます。 このように、n桁の10進数の整数Nについては、各桁の数字を 上位からan,an-1,....,a1とおくと、以下のような形式で表される 事になります。 10^n-1×an + 10^n-2 ×an-1 + ......... + 10×a2 + a1 ここで、まず最下位の桁の数字を求めるためには、 以上の式については10(10^n-2×an + .................+a2) + a1 と見なす事ができ10で割った余りがa1に当たるので、10で 割った余りを求めればよい事が分かります。 また、この時の商は(10^n-2×an + .........+ a2)である事が分かる。 次に、この商を利用して右から2番目の桁の数字であるa2を求めると、 今度は10(10^n-3×an +....+a3) + a2と見なせるので、10で割った余り がa2になることを利用して求めれば良いことになります。 従って、以上のような手順を最上位の桁が求まるまで繰り返して 行けば良い事が分かります。 これを踏まえ、2進数に変換する場合も、今度は10進数Nは 2^m-1×am + 2^m-2×am-1+..............2×a2 + a1の形式で表され ると考えればよいわけです。 ただし、a1~amはそれぞれ0か1の数字であり、これらは2進法で表した 場合の各桁の数に相当するわけです。 という事は先ほどと同じような要領で今度は2で割って、その余りを求め ていくと、2進数の各桁の数字が求められるわけです。 (2)なぜ、あまりだけを明記するのではなく商も明記するの?? それは、たまたま商と余りが一致した事が原因で混同してしまった だけではないかと思われます。 例えば、10進数の3を二進数に変換するとき、3を2で割った商が 1で、余りも1になるので、本来であれば余りの1を取るべきところを 商の1をその桁の数字としてしまったのではないでしょうか。 ちなみに、10進数の3を二進数で表記にするときは、 3 ÷ 2 = 商1 余り1<-これは、2進数の最下位の桁の数になります。 1 ÷ 2 = 商0 余り1<-これは、2進数の最上位の桁の数になります。 よって、(3)10=(11)2になる事が分かります。
お礼
(2)の質問は、私の勘違いでした。すいません。ちゃんと最後の1÷2まですればよかったのですね。上の方の回答は、ちょっとついていけなかったです...;;)でもご回答ありがとうございました☆
- Mr_Holland
- ベストアンサー率56% (890/1576)
例題で変換の仕方を整理してみましょう。変換していくときは余りを求めて下の桁から埋めていきます。 108÷2=54・・・0 ⇒ 下1桁目=0 54÷2=27・・・0 ⇒ 下2桁目=0 27÷2=13・・・1 ⇒ 下3桁目=1 13÷2=6 ・・・1 ⇒ 下4桁目=1 6÷2=3 ・・・0 ⇒ 下5桁目=0 3÷2=1 ・・・1 ⇒ 下6桁目=1 1÷2=0 ・・・1 ⇒ 下7桁目=1 (108)10=(1101100)2 >(1)10進法から2進法になおすとき、なぜ2で割りあまりを明記するのか? 下1桁目について考えて見ましょう。 2進数の場合、下2桁目から上は必ず2の倍数になっています。これは10進数で考えたとき、下一桁を除いた数が必ず10の倍数になっていることから分かると思います。(例:1234で1230は10の倍数。) したがって、下1桁目は2で割った余りになっていることが分かります。(例:1234の下一桁目の4は1234を10で割った余り。) 今度は、数字の桁を全体的に右側へシフトします。これは下一桁目で余りを求めた際に出た商と一致します。(例:1234⇒123。) これを同様に2で割り余りを桁に埋めていきます。(例:123⇒3。) 以下同様に行うことで、余りだけを桁に埋めていくことが分かると思います。 >(2)なぜ、あまりだけを明記するのではなく商も明記するの?? 上記のように、商は計算途中で使用するだけで桁を生めるときには使わないことが判ると思います。
お礼
わかりました、ありがとうございます^^ 私は3÷2=1あまり1のとこで辞めてしまったので、商が混じってると混同してしまったみたいです。ちゃんと1÷2までやればよかったのですね!
- cafe_au_lait
- ベストアンサー率51% (143/276)
No.2です。すみません、下の回答は無視してください。 言わんとしていたことはNo.3さんのとおりです。
- asuca
- ベストアンサー率47% (11786/24626)
>10進法から2進法になおすとき、なぜ2で割りあまりを明記するのか? 10進の場合例えば14だったら 10で割ると1余り4でそれを14と書くわけです。 8進だったら8で割った結果だしそう考えれば自ずと2進だったら2で割ったあまりを表記すると分かると思うんですが。 2進は0=0,1=1,2=10増えていきます。 >なぜ、あまりだけを明記するのではなく商も明記するの?? 商を書かなかったら繰り上がった桁がないことになりますので。 先の14の例でいったら商を書かなかったらただの4になってしまいます。
お礼
ご回答ありがとうございます。 ちょっと混同していましたが、解決しました^^
- cafe_au_lait
- ベストアンサー率51% (143/276)
(1)10進法から2進法になおすとき、なぜ2で割りあまりを明記するのか? 2進法から10進法になおすとき、10で割りあまりを明記するのは感覚的に理解できますか?それと同じです。 (2)なぜ、あまりだけを明記するのではなく商も明記するの?? 商は明記していませんが・・・。
お礼
私は108を2で割って行くとき、3÷2=1あまり1という時点でやめてしまっていたので、商が答えに混じっていると思ってしまったようです。ですが、1÷2と続ければ全てあまりで、表記されるんですね。 ご回答ありがとうございました。
- T0MT0M
- ベストアンサー率14% (73/504)
10進法の108は2進法では、1101100ですよ。 でもって、商なんか引いてきてません。全部余りです。
お礼
すいません、答えは1101100でした><)私は108を割るとき、3÷2=1あまり1で辞めてしまったので、答えに商が混ざっていると勘違いしたようです。ご回答ありがとうございました!
お礼
お~~!なるほどっ!! クイズみたいなのに、とてもわかりやすかったです☆ ありがとうございました☆