重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【終了しました】教えて!gooアプリ版

十進法を二進法に変換する時
元の十進法の数を2で割れなくなるまで割り、その余りを下から見る。

という方法があります。この方法の証明を書かなければならないのですが書き方がわかりません。
もし書ける方がいれば、教えていただきたいです。
よろしくお願いします。

質問者からの補足コメント

  • 間違えた数学Aでした・・・

      補足日時:2021/10/10 16:54
  • 回答ありがとうございます。
    口下手ですが例を使って説明します
    例えば10進数の53を2進数に直すとします。
    (他サイトを読みながら理解したので数字が同じですが気にしないでください)
    53=26•2+1 ◀①
    26=13•2+0 ◀②
    13=6•2+1 ◀③
    6=3•2+0 ◀④
    3=1•2+1 ◀⑤
    ①に②~⑤を代入する
    53=2^5+2^4+2^2+2^0
    となる。
    これにより、53は2進数に直すと
    110101となる。

    このように理解しているのですが、これをどの式にも当てはまる、記号などを使った証明に直すことができません。
    もしよければ教えていただけると嬉しいです。

    No.1の回答に寄せられた補足コメントです。 補足日時:2021/10/10 17:38

A 回答 (4件)

#3です。

記号などを使った証明、ですね。
次のように訂正させて下さい。

例えば、1111だったら、
1×2^3+1×2^2+1×2^1+1×2^0 であるが、
これは、
2×(1×2^2+1×2^2+1×2^0)+1 と変形できる。

これより二進数abcdにおいて、もとの10進数は、
a×2^3+b×2^2+c×2^1+d×2^0
=2×(a×2^2+b×2^2+c×2^0)+ d
と変形でき、末尾の桁は、2で割った時の余剰となる。

次に、その上の桁においては、
a×2^2+b×2^2+c×2^0
=2×(a×2^1+b×2^0)+ c
と変形でき、この末尾の桁は、2で割った時の余剰となる。

これを繰り返すことにより、10進数を2進数に変換するときは、2で割った余剰を下の桁から埋めていけばよいと分かる。

みたいなかんじですかね。
    • good
    • 0

以下のとおりです。


2の倍数なんです。

2進法の(下から)n桁目には、10進数の2の累乗、具体的には2^(n-1)に相当する数が相当している。

例えば、1111だったら、
1×2^3+1×2^2+1×2^1+1×2^0 というように。

これより、2進数の(下から)n桁より上の桁は必ず2の倍数となっており、n桁目にはその余剰が入る。

10進数を2進数に変換するときは、2で割った余剰を下の桁から埋めていけばよい。
    • good
    • 0

>口下手ですが例を使って説明します


いや、それは「作業の手順」を書いただけですよね

「原理は解ってるんだけど説明がうまく書けない」という質問
(だと思った)からその原理を書いてみてよ、って事です。
意地悪だけど実はわかってないんでしょ?


十進数の53を二進数に変換するには、上の桁から見ると

(1) 32を含むから下から6番目の桁(以下b5)を1に
(2) それを引いた残り21は16を含むからb4を1に
(3) それを引いた残り5は8を含まないからb3を0に
(4) 5は4を含むからb2を1に
(5) それを引いた残り1は2を含まないからb1を0に
(6) 1が残ったのでb0を1に

という求め方もできます。ただ、10進数をぱっと見で
二進数で何桁になるか。2のn乗はいくつか、って慣れないとすぐには
わからないし、数値が大きい時も同様でしょう。

下位桁側から求めるのが、質問者さんが補足で書いた方法です。

(1)まず2で割る。割れる。26...1 。余りは上位桁の構成要素にならないから
余ったので、つまり構成要素1(2^0=1)を持ってるので、b0=1。
2で割れた、ということは2よりも大きい構成要素を持つので、次に。
(2)次に2で割る。割れる。13...0。余りがない(2^1=2を持たない)ので
b1=0。
割れたということは、割る2を2回つまり4で割れたということで、
4よりも大きい構成要素を持つということ。次に。
(3)更に2で割る。割れる。6...1。 余りが出たのでb2=1。次に。
(4)更に2で割る。割れる。3...0。余りがないのでb3=0。次に。
(5)更に2で割る。割れる。1...1。余りが出たのでb4=1。次に。
(6)更に2で割る。割れない。0...1。余りが出たのでb5=1。
「2で割る」を5回行い(つまり32で割って)割れなかったので
これ以上(32越え)の構成要素を持たないのでここで作業はおしまい。

3進数だろうが7進数だろうが同じ理屈です。
n に置き換えて説明すればいいんじゃないの。
「証明」って、どういう回答が求められてるのか、出題者の意図がよくわかりませんが。
    • good
    • 0
この回答へのお礼

その後ずっと考えていて、さらに自分で考えた答えを作りました。
先生にそれを送信し、確認をとってもらっています。
長い間お付き合いありがとうございます。
一度自分で描いてみるという部分で、とても役に立ちました。

>「証明」って、どういう回答が求められてるのか、出題者の意図がよくわかりませんが。
https://www.try-it.jp/chapters-4962/sections-509 …
こちらの解き方で二進数を出せる理由を書けという意図なのだと思います。

回答者さんが上に書いてくださったやり方をずっとしていた私は、こちらの解き方を全然理解できていませんでした。
なんとなくは、今ならかけるのですが、全ての数字に当てはまるような証明を書くことができていませんでした。
回答ありがとうございます。

お礼日時:2021/10/10 18:49

>書き方がわかりません


考え方は解ってるんですね?
ならまずそれを書いてみてください。
話はそれからです
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!