• 締切済み

2進法と10進法について

10進法で表された数字を2進法に変換する場合、2で割って余りを並べるというの方法が一般的に知られていますが、何故そうなっているんでしょうか?これを数学的に理由を述べられる方はいらっしゃいませんか?ネットを使って調べてみても満足のいく答えが見つかりません。もし知っている方がいましたら、教えて下さい。宜しくお願いします。 以下のサイトから、「重み」というものを使って、10進法でこうだから、2進法でもこうなる、という理屈はわかるのですが、どうも釈然としません。 宜しくお願いします。 http://itpro.nikkeibp.co.jp/members/ITPro/ITBASIC/20020617/1/

みんなの回答

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.8

「どこがどう釈然としないのか」を書いた方がいいと思うな....

  • mindassass
  • ベストアンサー率23% (318/1337)
回答No.7

失礼しました 誤字があります。 べき乗の3は2です。

  • mindassass
  • ベストアンサー率23% (318/1337)
回答No.6

n進数に変換する場合 元の数からn^∞~n^0までを引いた答えを 左から並べればいいですよね? どうも釈然となしない明確な理由がいないとこれ以上は答えられないでしょう。 n進数の桁という考えを単位接頭語みたいな考え方に変えてみては? 10進数の321ならば 3×10^3+2×10^1+1×10^0 16進数の321を10進にするならば 3×16^3+2×16^1+1×16^0

  • htms42
  • ベストアンサー率47% (1120/2361)
回答No.5

大きい塊を取り除いて余りからまた小さい塊を取り除いていくというのは10進法でも同じです。 2進法だけのことと考えているので分からなくなっているのではないですか。 1、10、100、1000、・・・という塊で考えるか 1、2、4、8、16、・・・という塊で考えるか 1、3、9、27、81、・・・という塊で考えるか ・・・・

  • banakona
  • ベストアンサー率45% (222/489)
回答No.4

2進法の各桁が、下から1,2,4,8、・・・の位となっているのは納得ずみとします。 ある数Pが2進法でabcdと表せたとしましょう。a,b,c,dはいずれも0か1です。 dの求め方:a,b,cはそれぞれ8,4,2の位なので、いずれも2で割り切れます。ちょっと変ですが、   P=2×(abc)+d と表せます。だからdはPを2で割った余りとなります。 cの求め方:上で出てきたabcは、Pを2で割ったものの小数以下を切り捨てたものです。このabc自体を2進法とみなすことができます。これが分かりにくければ、十進法で12345を10で割って小数以下を切り捨てたものである1234も十進法になっている(8進法や16進法になっていない)とみなせるのと同じです。だからcを求めるには、abcについて、「dの求め方」と同じことをすればいいことになります。 以下、bやaも同様に求めることができます。 以上から、次々に2で割ってその余りを並べていけば2進法になります。(同様にして、任意のn進法に変換することもできます)

  • hugen
  • ベストアンサー率23% (56/237)
回答No.3

□□□ □□□□□□□□ □□□□□□□□□□□□ □□□□□□□□□ □□□□□□□□□□□□□ □□□□□□□□□□□□□□□□□□□ □□□□□□□□□□□□□ □□□□□□□□□□□□□□□□□□□ □□□□□□□□□□□□□□ □□□□□□□ □□□□□□□□□□□ □□□□□□□□ ・・・・・・・・・・・ ------------------------------------------------------------------ 上のタイルを数えよう。 十づつまとめると □□□□□□□□□□ □□□□□□□□□□ □□□□□□□□□□ □□□□□□□□□□ □□□□□□□□□□ □□□□□□□□□□ ・ ・ □□□□□□□□□□ □□□□ → 4 イチの位 ーーーーーーーーーーーーーーーーーーーーーーーー じゅう づつまとめた物をさらに じゅう づつまとめて □□□□□□□□□□ □□□□□□□□□□ □□□□□□□□□□ □□□□□□□□□□ □□□□□□□□□□ □□□□□□□□□□ □□□□□□□□□□ □□□□□□□□□□ □□□□□□□□□□ □□□□□□□□□□ -------------------- □□□□□□□□□□ □□□□□□□□□□ □□□□□□□□□□ 3余ったとすると、十の位は  3 ーーーーーーーーーーーーーーーーーーーーーーーーーー じゅう づつまとめた物をさらに じゅう づつまとめて 2余ったとすると、次の位は  2 ーーーーーーーーーーーーーーーーーーーーー じゅう づつまとめた物が5個しかなかったら   最期の位は  5 ーーーーーーーーーーーー タイルの数は、  5234 2個づつまとめて行くのが、2進法

  • sanori
  • ベストアンサー率48% (5664/11798)
回答No.2

こんばんは。 十進法の41は、 41 = 32 + 0 + 8 + 0 + 0 + 1 (32円玉、8円玉、1円玉が各1枚) なので、二進法で書けば、 101001 です。 十進法の表記で41を2でどんどん割り算していくと、 (32 + 0 + 8 + 0 + 0 + 1) ÷ 2  = (16 + 0 + 4 + 0 + 0) あまり1 (16 + 0 + 4 + 0 + 0) ÷ 2  = (8 + 0 + 2 + 0) あまり0 (8 + 0 + 2 + 0) ÷ 2  = (4 + 0 + 1) あまり0 (4 + 0 + 1) ÷ 2  = (2 + 0) あまり1 (2 + 0) ÷ 2  = 1 あまり0 1 ÷ 2  = 0 あまり1 割り算をしていくごとに、かっこの中の足し算が減っていき、 割り算の回数が多いところで出るあまりほど、2進法で上の方の桁になるということです。 こんな説明でよろしいでしょうか?

  • info22
  • ベストアンサー率55% (2225/4034)
回答No.1

たとえば10進法の123を2進法に直す場合の計算過程は 2で割って余りを取り除くことを繰り返す過程ですから その過程を計算式で書き下すと以下のようになります。 123 =2*61+1 =2*(2*30+1)+1=(2^2)*30+1*2+1 =(2^2)(2*15+0)+1*2+1 =(2^3)*(2*7+1)+0*(2^2)+1*2+1=(2^4)*7+1*(2^3)+0*(2^2)+1*2+1 =(2^4)*(2*3+1)+1*(2^3)+0*(2^2)+1*2+1 =(2^5)*3+1*(2^4)+1*(2^3)+0*(2^2)+1*2+1 =(2^5)*(2*1+1)+1*(2^4)+1*(2^3)+0*(2^2)+1*2+1 =(2^6)*1+1*(2^5)+1*(2^4)+1*(2^3)+0*(2^2)+1*2+1 =1*(2^6)+1*(2^5)+1*(2^4)+1*(2^3)+0*(2^2)+1*2+1 最後の式は2進数の桁の重みを使って10進数を展開してた形式の表現になっていて、その1または0の係数は、2で割った時の余りから生成されていることが、計算過程からわかる。この余りの係数=2進法の重み展開表現の係数だけを並べたものが2進法の表現であることが分かるだろう。 係数を桁の重みも大きい方から並べて書けば =(1111011)2 これが十進法の123を2進法に変換した表現です。

関連するQ&A

  • 10進法から2進法へ。

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

  • N進法の計算

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

  • 小数の10進法→n進法の考え方について

    整数の10進法→2進法の場合 27という数字を2で割るのは 2で割ることで 2個ずつまとめた塊をつくり その塊に入れなかった余り1が「1の桁」になる そしてその塊13を2で割ると「26を2個ずつまとめたセット」を2個ずつまとめた塊6個を求めることが出来て、その余りはもともと「2個ずつまとめた塊」だから、その余り1は「2^1=2の桁になる」 というように考えられると思うのですが 小数の場合をうまくイメージすることが出来ません。 この同じ考え方を小数にあてはめて考えてみたのですが、小数のためややこしくなってしまい混乱してしまいました。 小数の変換を「10進法→n進法」をこのようにうまく理解する方法は無いでしょうか? よろしくお願いします。  

  • 十個の数、或いは十進法の発明は必然なのでしょうか

    こんにちは。 なぜ十進法が一般的なのか、と言えばアラビア数字が0を含めて十個あるからという理由が上がりそうですが、すると今度はなぜそれが10個なのだろうという疑問が浮かび上がります。 その答えとしては、ひとつに偶然。たまたま十個あるだけで、本当は六個でも九個でも十四個でも良かった。 しかしながら、ローマ数字にも十個目のカウントにはそれ専用の割り当てがなされており、五個と十個は特別視されていると言わざるを得ません。 何かしらの理由で、数学的には十という区切りは必然的なものだったのか、あるいは古来からの伝統を踏襲しているだけで、それが生活に馴染んでいるために便利であるだけ、と考えるべきなのか。 実際のところどうなんでしょうか?

  • 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 を導き出すことが出来る。 位の数で割っていくことで各位の値だけを抽出することが出来る。 このように理解するしかないのでしょうか? よろしくお願いします。

  • 10進法からn進法について、なぜ1がつくのか?

    10進法で表された35を、例えば3進法にするとき、答えは1022になります。 でも、普通に計算すると、022が正解のはずですが。 なぜ、022ではなく、1022になるのでしょうか? 数学は得意じゃないですが、解説お願いします。 ネットで調べても、この辺りは常識なのか、スルーされているので。

  • n進法の変換!

    数学が得意で、Excelの達人の方!(じゃなくてもいいんですが……) たとえば、Windowsに載っている、電卓を関数モードで使うと、16進法10進法8進法2進法の変換ができるんですが、ほかには変換できません。 と、言うことで、数字(12桁以上必要)を入れると、ほかの進法に変わるシートを作りたいんですが、ぜんぜんうまくいきません。 誰か、うまいのを教えてください。体裁は気にしません。  ※変換前のn進法のnを、たとえばA2に入力  ※変換後のn'進法のn'を、たとえばA3に入力  ※変換する、n進数を入力 と、こんなシートを作りたいんです。 よろしくお願いいたします。

  • 進法について

    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進数に戻すのだと思います。 ということはわかるのですが、数式ではどのように表せば良いのでしょうか。 どうか分かる方ご協力お願いいたします。

  • VBAを使って二進法計算

    VBAを使って二進法のフラッシュ暗算するプログラムを作りたいのですが、 なかなかうまくいきません。 ・ランダムに出る数字を二進法に変換して、エクセルに表示する 例)4+5+6=15の場合、   4       5       6 「100」 ⇒ 「101」 ⇒ 「110」 答えは「15」(10進法で) という流れでプログラムしたいのですが... どう変換させて、どう表示させるかでつまずいています。 ちなみに10進法のフラッシュ暗算は出来ました。 分かる方がおられましたら ご回答よろしくお願い致します。m(_ _)m

  • 数学に強い人、この理屈教えてください。

    数学に強い人で、この理屈を子供に教えるみたいに説明できる人教えて下さい。 ある数を5で割るのと ある数を2倍にしてから10で割るのは、 答えが同じ理屈。 何度考えても、ある数を2倍にしてから10で割る理屈が分かりません。たしかにこの計算法のほうが答えが出しやすいのは確かです。 頭がこんがらがってます。 どなたか子供に教えるみたいに解りやすく教えて下さい。