• ベストアンサー

10進法から2進法へ。

こんにちは^^)今レポートをやっています。 2進法を10進法に直すやり方は、自分なりに理解できました。 ですが、10進法を2進法に直すとき、なぜ2で割り余りを明記していくのか、その理由がわかりません。しかも以下問題文の答えは、(101100)だと思うのですが、他の位は全て余りを明記してるのに、この数の一番大きい位の1だけは、3÷2=1あまり1の商を明記してるんですよね?なぜでしょうか? (問題) (108)10を2進法になおせ。 この問題で、わかりやすく説明していただけないでしょうか? よろしくお願いします。質問は、以下の2点です。 (1)10進法から2進法になおすとき、なぜ2で割りあまりを明記するのか? (2)なぜ、あまりだけを明記するのではなく商も明記するの??

質問者が選んだベストアンサー

  • ベストアンサー
  • yanasawa
  • ベストアンサー率20% (46/220)
回答No.6

2進数はなぜ2で割って余りを求めるのか、だけ説明します。 簡単のため、私の思った10進数を、あなたが10進数で表すことにします。(変ですが、理由はあとで分かります) 直接聞かないでください。例えばこう聞いてください。 「その数を10で割ったら、余りはいくつですか?」 私が「6」と答えたら、これは1の位の数だと分かりますね。 そうしたらまた聞いてください。 「さっきの答を10で割ったら、余りはいくつですか?」 さっきの答は、最初の数に比べて、桁が1つ落ちていることに着目してください。私が「4」と答えたら、これは10の位です。 これを続けていきます。そうすると、正体が1の位からバレてきますね。 これは2進数でも同じです。2で割って余りを求め、答は1桁落ちていく。この繰り返しです。

Diorlove06
質問者

お礼

お~~!なるほどっ!! クイズみたいなのに、とてもわかりやすかったです☆ ありがとうございました☆

その他の回答 (6)

  • y_akkie
  • ベストアンサー率31% (53/169)
回答No.7

(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になる事が分かります。

Diorlove06
質問者

お礼

(2)の質問は、私の勘違いでした。すいません。ちゃんと最後の1÷2まですればよかったのですね。上の方の回答は、ちょっとついていけなかったです...;;)でもご回答ありがとうございました☆

  • Mr_Holland
  • ベストアンサー率56% (890/1576)
回答No.5

 例題で変換の仕方を整理してみましょう。変換していくときは余りを求めて下の桁から埋めていきます。 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)なぜ、あまりだけを明記するのではなく商も明記するの??  上記のように、商は計算途中で使用するだけで桁を生めるときには使わないことが判ると思います。

Diorlove06
質問者

お礼

わかりました、ありがとうございます^^ 私は3÷2=1あまり1のとこで辞めてしまったので、商が混じってると混同してしまったみたいです。ちゃんと1÷2までやればよかったのですね!

回答No.4

No.2です。すみません、下の回答は無視してください。 言わんとしていたことはNo.3さんのとおりです。

  • asuca
  • ベストアンサー率47% (11786/24626)
回答No.3

>10進法から2進法になおすとき、なぜ2で割りあまりを明記するのか? 10進の場合例えば14だったら 10で割ると1余り4でそれを14と書くわけです。 8進だったら8で割った結果だしそう考えれば自ずと2進だったら2で割ったあまりを表記すると分かると思うんですが。 2進は0=0,1=1,2=10増えていきます。 >なぜ、あまりだけを明記するのではなく商も明記するの?? 商を書かなかったら繰り上がった桁がないことになりますので。 先の14の例でいったら商を書かなかったらただの4になってしまいます。

参考URL:
http://www.asahi-net.or.jp/~AX2S-KMTN/ref/bdh.html
Diorlove06
質問者

お礼

ご回答ありがとうございます。 ちょっと混同していましたが、解決しました^^

回答No.2

(1)10進法から2進法になおすとき、なぜ2で割りあまりを明記するのか? 2進法から10進法になおすとき、10で割りあまりを明記するのは感覚的に理解できますか?それと同じです。 (2)なぜ、あまりだけを明記するのではなく商も明記するの?? 商は明記していませんが・・・。

Diorlove06
質問者

お礼

私は108を2で割って行くとき、3÷2=1あまり1という時点でやめてしまっていたので、商が答えに混じっていると思ってしまったようです。ですが、1÷2と続ければ全てあまりで、表記されるんですね。 ご回答ありがとうございました。

  • T0MT0M
  • ベストアンサー率14% (73/504)
回答No.1

10進法の108は2進法では、1101100ですよ。 でもって、商なんか引いてきてません。全部余りです。

Diorlove06
質問者

お礼

すいません、答えは1101100でした><)私は108を割るとき、3÷2=1あまり1で辞めてしまったので、答えに商が混ざっていると勘違いしたようです。ご回答ありがとうございました!

関連するQ&A

  • N進法の計算

    こんばんは。 10進法から他の○進法にしなさいという問題があります。 やり方はわかります。 たとえば、2進法で表しなさいという問題なら、10進法の数字を2で割って余りを書き出し、その商をまた2で割って余りを書き出し…を筆算で繰り返して、割られる数が2より小さくなったら最後に下から余りを並べるということですが、そこで疑問です。 どうして余りを並べたものが答えになるのですか? このやり方のカラクリがわかりません。 答えをまた10進法に戻すと辻褄は合うのですが、完全に納得して解いているわけではないのでなんか気持ち悪いです。 文系にもわかるような説明をお願いします。

  • 進法について

    1、五進法で以下の問題を計算せよ。 ★(1)2102-223 ★(2)1342÷23(商と余りを求めよ) この問題の解法は (1) 5進法の10は、10進法ではいくつになりますか? (2) 5進法の100は、10進法ではいくつになりますか? (3) 8000秒は、何時間何分何秒ですか? n進法を10進法に直すには 一の位の数×nの0乗 十の位の数×nの1乗 百の位の数×nの2乗 千の位の数×nの3乗 万の位の数×nの4乗 …… (1)5進法の10は、10進法では 0×0+1×5=5 (2)5進法の100は、52×1+51×0+50×0=25 (3)8000秒は2時間13分20秒 (1)(2)は5進数から10進数への変換。(3)は10進法の数を60進法に直したことになります。 つまり、問題を一旦10進数に直して答えを出したたうえで、改めて5進数に戻すのだと思います。 ということはわかるのですが、数式ではどのように表せば良いのでしょうか。 どうか分かる方ご協力お願いいたします。

  • 引き放し法による除算アルゴリズムについて

    突然の質問失礼いたします。 現在私は学校で引き戻し法・引き放し法といった除算のアルゴリズムについて学んでいるのですが、そのうちの引き放し法について質問したく投稿しました。 引き放し法について自分で勉強しようと思い、いろいろ調べていたのですが、商と余りを出す引き放し法は見つかっても、小数点以下にわたってまで商を求める引き放し法がまったく見つかりませんでした。 (例えば5÷2=2あまり1と結果を出すのではなく、5÷2=2.5と結果を出す引き放し法のことです。) 少数点以下にわたってまで商を求める引き放し法は商と余りを出す引き放し法で表現できるのでしょうか? もしよろしければ教えていただけると幸いです。また、参考にすべきインターネットサイト等もあれば教えていただけると助かります。

  • 8進法の問題です

    この2つの問題を自分なりに答えはだしてみたのですが、8進法の計算だけを用いてと言われると自分の解き方があっているのかよくわからないのです。どなたかできれば解き方を教えていただけませんか??お願いします。 1)8進法の計算だけを用いて(10進法の計算は用いずに)、以下の数を8進法で表しなさい。  A) 384(10進数)→?  B) 2B0(12進数)→?  C) 1BA(12進数)→?  D) 11C(16進数)→? 2)8進法の計算だけを用いて(10進法の計算は用いず)、以下の8進数を指定された進数で表しなさい。  A)326(8進数)→?(10進数)  B)135(8進数)→?(12進数)  C)642(8進数)→?(12進数)  D)635(8進数)→?(16進数) 1)についてはA)ならば3*8^2+5*8~1+6*8~0=3*54+46+6=214というようなやり方でいいのでしょうか?B)C)も同様に解いて79、2AAになりました。D)はよくわかりませんでした…。 2)は商が0になるまで割っていき余りが答えになり、A)600というようになるんですよね?しかし、B)C)D)のように記号が入るとわからなくなってしまいます。

  • 10進数→n進法の変換 整数と小数の違いについて

    整数の場合 27という10進数の数を2進法にしたい場合 2で割り、2のまとまりを作り余りが出来ると、それを1の位の値にする と、このようなことを繰り返すことで2進法の表記を作り上げると思います。 小数の場合 0.8125という10進数の数を2進法にしたい場合 2を掛ける(=0.5で割る) ことで 0.5のまとまりを作り、商の整数部分を0.5のまとまりと考え少数第一位の値とする と、このようなことを繰り返すことで2進数の表記を作り上げると思います。 と、ここまでは理解できたのですが なぜ整数では、小さい桁から、まとまりを作っていくのに 小数では大きい桁から、まとまりを作っていくことになるのでしょうか? この疑問を自分の中でうまく言葉に出来ず、もどかしいので説明できる方がいましたら 私のレベルでも理解できるように説明していいだけないでしょうか。 よろしくお願いします。

  • 訂正;8進法の問題です

    この2つの問題を自分なりに答えはだしてみたのですが、8進法の計算だけを用いてと言われると自分の解き方があっているのかよくわからないのです。どなたかできれば解き方を教えていただけませんか??お願いします。 1)8進法の計算だけを用いて(10進法の計算は用いずに)、以下の数を8進法で表しなさい。  A) 384(10進数)→?  B) 2B0(12進数)→?  C) 1BA(12進数)→?  D) 11C(16進数)→? 2)8進法の計算だけを用いて(10進法の計算は用いず)、以下の8進数を指定された進数で表しなさい。  A)326(8進数)→?(10進数)  B)135(8進数)→?(12進数)  C)642(8進数)→?(12進数)  D)635(8進数)→?(16進数) 1)は商が0になるまで割っていき余りが答えになり、A)600というようになるんですよね?しかし、B)C)D)のように記号が入るとわからなくなってしまいます。 2)についてはA)ならば3*8^2+5*8~1+6*8~0=3*54+46+6=214というようなやり方でいいのでしょうか?B)C)も同様に解いて79、2AAになりました。D)はよくわかりませんでした…。

  • 10進数から2進数への変換の仕方について

    10進数から2進数への変換の仕方について 以下のサイトに説明があったのですが、 http://www.pursue.ne.jp/jouhousyo/sysad/sysad010.htm 10進数の60を2進数に変換する場合、変換したい10進数を商が0になるまで2で割りつづけ商と余りを求めていますが、その時に、15/2などは7.5になり余りが、説明では商が7、余りが1になっています。 10進数から2進数へ変換する場合は、小数点以下の余りはすべて1として計算するのでしょうか?

  • 10進法からn進法へ変換する時の操作

    10進法の数をnで割っていき、余りを並べることで求めたい数字を導き出すことが出来ますが なぜそうなるのかが、よく理解できません。 n進法 → 10進法  の説明は、検索すると、わかりやすくその理屈が説明されているのですが 10進法 → n進法 は「割っていき並べればその数字になるんだ」 としか、どのページでも説明されておらずいまいち理解が出来ません。 10進法の27という数の、「2進法での数の動き」 を 10進法表記で表すとこのようになっている。 2^4×1 + 2^3×1  + 2^2×0 + 2^1×1 +2^0×1  =27 (10進法表記) 2進法表記ではこのようになっている。 10000×1  +  1000×1 + 100×0 + 10×1 + 1×1 = 11011 (2進法表記) このように、10進法表記でも2進法表記でも、各位の値は同じなので 位を外して、各位の値だけを並べれば27の2進法表記である 10011 を導き出すことが出来る。 位の数で割っていくことで各位の値だけを抽出することが出来る。 このように理解するしかないのでしょうか? よろしくお願いします。

  • 中2数学 文字式の利用の問題です。

    文字式の利用の問題で、混乱しています。 <問題>連続する4つの整数の和を4で割ったときの余りを求めなさい。 連続する4つの整数をm、m+1、m+2、m+3とすると、 4m+6=4(m+1)+2 よって、余りは2、と考えました。 (正解) 正解だけど、連続する4つの整数の和が負の数の時も余りは2なのか?と疑問に思う。 ↓ -6÷4=-1あまり2?  あまり-2にはならないのか? ↓ パニック!! 2日くらい悩んで、もしかしたら考え方の方向を逆にしたらいいのかな?と思いつきました。 問題を解く ↓ 正解する ↓ 4(m+1)+2 と説明できたから、例えば-6÷4のあまりは、-2ではなくて+2であると理解する この考え方は、よい考え方でしょうか? -6÷4=-1あまり2 を確かめる方法はないか、さらに半日悩んで、 割られる数=割る数×商+あまり を思い出しました。当てはめてみると、 -6=4×(-1)+X X=-2 あまりは-2になってしまいました。 では、6÷(-4)のあまりは、+2か、-2か? -6÷(-4)のあまりは、+2か、-2か? と、大混乱しています。 回答よろしくお願いいたします。

  • 10進法の少数→ n進法の少数への変換について

    整数の場合は 例えば27という10進法の数を2進法に変える場合 27から2で割っていき余りを並べることで求められますが これは2で割っていき、まとまりを作っていく事で、余りが各桁の値を表すことになるから ということで理解できたのですが 少数の場合はなぜ掛けるのでしょうか? 例えば0.111という10進法の少数は2進法では 1/2^1 + 1/2^2 + 1/2^3 このように表すことが出来るから2を掛けることで値が抜き出せる とこのような考え方は理解できるのですが 上に整数の場合で書いたように説明することは出来ないでしょうか?