• ベストアンサー

10進数 → 2進数

wogotaの回答

  • wogota
  • ベストアンサー率42% (66/154)
回答No.3

題にあるように、101_10について考えてみましょう。 101=1×10^2+0×10^1+1×10^0 (^は、べき乗とします。つまり、10^2=10×10=100) というように、数字を分解できます。 また、これらの数字を1つずつ求めるとした場合、 101÷10=10余り1 10÷10=1余り0 1÷10=0余り1 というように、考えることが出来ます。(この方法は、後述の考え方を 逆さにしているだけだったりします。) ということで、割る数を2にすると、余りの数字から2進数に出来ます。 101÷2=50余り1 50÷2=25余り0 25÷2=12余り1 12÷2=6余り0 6÷2=3余り0 3÷2=1余り1 1÷2=0余り1 から、101_10=1100101_2となります。 小数点では、割る数ではなく掛ける形で表示できます。 0.1_10を例にしましょう。 0.1×2=0.2(1以下ということで0) 0.2×2=0.4(1以下ということで0) 0.4×2=0.8(1以下ということで0) 0.8×2=1.6(1以上なので、1。1.6-1=0.6) 0.6×2=1.2(1以上なので、1。1.2-1=0.2) と言う風に、0を1つおいて"0011"の列が循環する表示になります。 よって、0.1_10=0.0001100110011・・・_2となります。 かなり、直感を重視した内容になっていますので、理論的な説明が必要ですね。

noname#4530
質問者

お礼

回答ありがとうございました。 整数値については、#5の方の説明で理解できたのですが、 小数点を含んだ数値のやり方が理解できません。 できれば説明お願いします。

関連するQ&A

  • 2進数の小数計算について

    コンピュータは0と1の2進数で計算しますが、小数点の計算は苦手だと聞いています。 実際、消費税の0.05を2進数で表現することは出来ません。では、どうやってコンピュータで小数点の計算しているのですか?

  • 2進数と10進数の関係について

    浮動小数点で表現されている10進数の0.1を 2進数に変換すると循環小数となります。 これを単純にまた10進数に変換すると 永遠に0.1とはならないと思うのですが、 なぜ、2進数の(0.00011001100110011…)が EXCEL等のアプリケーションで人間の目に見える形で は10進数の(0.1)となっているのでしょうか? IEEEの規格の仕様となにか関係があるのでしょうか?

  • コンピュータ小数点2進数

    ・コンピュータ内で「小数点以下を含む数」をデータとして表現する方法についてまとめよ。 (コンピュータ内で、メモリに記録される0と1の列によって小数点以下を含む数を表すのにどのようなルールが用いられているのか、つまり小数点以下を含む数のためのデータ解釈のルールを問う) このような問題あなたならどう回答を出しますか??

  • 16進数から10進数へ

    (A2.E8)を10進数に変換したいのですが、 162.いくらになるまでは覚えているのですが、 小数点以下の計算を忘れてしまったので分かる方 回答よろしくお願いします。

  • 2進数の0.2?

     10進数の0.2を2進数に変換していったら、循環小数になってしまいました。表せないことはわかったのですが、これをコンピュータはどうやって認識するのでしょうか?  まさか0.2+0.2を「計算できません。」なんて表示するコンピュータはみたことがないし・・・。  ほかに、どうにかして、0.2を2進数で表示する方法ってないんですか?どなたか教えてください。

  • 有理数と無理数について

    「有理数は有限小数または循環小数となり、無理数は循環しない無限小数となることを示せ」という問いに関してアドバイスを下さい。   私的に考えた解答を書いてみます。  有理数とは、mおよびnが整数である時、m/nを有理数と呼ぶ。つまり、有限小数または循環小数が分数であるならば、有理数は有限小数または循環小数と言える。 例えば循環小数A=0.12121212・・・・を分数にする。 (10xA)-A=(12.12121212・・・)-(0.12121212・・・)     9A=12      A=4/3 となり、循環小数Aは分数となり有理数は有限小数または循環小数である。・・・・・どうでしょうか? 「無理数が循環しない無限小数である」というのは実数数において有理数以外のものが無理数だと認識している私は、分数表示できない数は無理数である・・としか示せないので、なんだか上手に表現できません。 アドバイス待ってます。

  • 2進数&10進数&16進数の変換

     ◆ コンピュータで使用される2進数  人が日常使用している数値は10進数ですが、コンピュータは内部で数値を表現する場合、2進数を使用  しています。しかし、「0」と「1」だけの2進数では人が分かりにくいため、人間が見えるところでは  コンピュータは2進数を10進数や16進数が変換して表現しています。ここではその変換方法を学びます。  ◆ 2進数  2進数とは、「0」と「1」の2種類の数字を用いて全ての数を表現します。10進数では0から数えて「9」の  次は位があがることになりますが、2進数では「 1 」の次に位があります。位があがれば、その新しい桁は   「 1 」 となり、それ以下の桁は全て 「 0 」 となります。それでは、2進数の数の増え方を見てみましょう。      ところで、2進数を表現する時は一般的に8桁単位で表現するため、8桁未満の場合は頭に0をつけます。  つまり、上の2進数の値は順番に 00000000 → 00000001 → 00000010 → 00000011 → 00000100 →  00000101 → 00000110 → 00000111 → 00001000 と表します。以下は2進数と10進数の対応表です。 2進数と10進数の対応表 10進数 0 1 2 3 4 5 6 7 8 9 10 ・・・ 2進数 0 1 10 11 100 101 110 111 1000 1001 1010 ・・・  ◆ 2進数から10進数への変換方法  10進数と2進数の対応表は以下の通りです。2進数の桁が上がる時の10進数の値が以下となります。 2進数と10進数の対応表2 10進数 1 2 4 8 16 32 64 128 2進数 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000  従って、2進数で「1」となっている桁に対応する上記の10進数の基準値を合計することにより、2進数から  10進数の値を求めることができます。例えば、2進数の「 00101010 」を10進数に変換する場合、基準値が  32、8、2の所でビットが1なので下図の通り、2進数の「 00101010 」は10進数では「42」だと分かります。            ◆ 10進数から2進数への変換方法  10進数の数値を「 0 」になるまで「 2 」で割り算していき、その結果の「余りの数 」を並べることで  ある10進数の値を2進数の値へ変換することができます。それでは、具体的に変換して見て行きましょう。           例えば、10進数の「160」を2で割り算していくと上図の結果となります。後は、余りの数を下から順番に  並べれば 「 10100000 」 の値が算出されます。次に、「22」を2で割り算していき余りの数を下から順に  並べれば 「 10110 」 の値が算出されます。ネットワークにおいては、2進数を一般的に8桁で表示する  ことから、8桁になるよう上位に「 0 」を追加して「 00010110 」とします。当然「 10110 」と同じ値。 因みにここ参照ですがhttp://www.infraexpert.com/study/ip1.html なぜこれが10進数なんでょうか? 10進数というのは、0から9までの数字が1増えて10になるんですよね? なのに2進数と10進数の対応表2を見ると 倍数になっているのですが、、 これはいったいどういう違いなんでしょうか? 回答お願いいたします。 ほかにも解らなそうな点は、教えて頂けると幸いです。

  • 2進数から16進数への変換

    2進数から16進数への変換はだいたいはできるんですが、小数点の2進数を16進数に変換するやり方がわかりません。 (例) 2進数1001→16進数では9ですが、0.0101などのやりかたがわかりません。 よろしくお願いします

  • 単精度浮動小数点方式、16進数

    10進数で22.75で表される値を単精度浮動小数点方式で表現し,それを16進数に変換するとどうなりますか? 22.75(10)→1.421875 4+127=131=10000011(2) 0.421875=0.011011(2) ここからのやり方教えてください

  • 10進数の14.5を浮動小数点(IEEE754形式)の2進数に変換するにはどうしたらよいでしょうか?

    10進数の14.5を浮動小数点(IEEE754形式)の2進数に変換するにはどうしたらよいでしょうか? 10進数の-7.5を浮動小数点(IEEE754形式)の2進数に変換するにはどうしたらよいでしょうか? 計算方法を教えてください。