• 締切済み

2進数10進数

こんばんわ。情報処理を勉強中です。 01010101  2進数 この2進数を10進数に変換したいんですが、どのようなやり方をすればいいのでしょうか? 区切ってすればいいのか悩んでいます。 もう一つあるのですが、 100 10進数 を2進数に変換するのですが、自分なりに解くと 1100100なんですが合っているかわかるでしょうか? よろしくお願い致します。

みんなの回答

  • ota58
  • ベストアンサー率27% (219/796)
回答No.5

パソコンは昔、フロッピー・CD等無い時代、キーを打ち込むことによって紙テープに穴を開けていくことから始まりました。 つまりは電気が通るか通らないか、0と1を覚えさすだけで全ての計算ができるようにしたものです。 メモリーの単位に使われる1・2・4・8・16・32・64・128・256・512・1024・・・と少々半端な数字が使われるのもそのためです。 2進法の加減乗除の計算方法も覚えてください。

  • tatumi100
  • ベストアンサー率39% (11/28)
回答No.4

01010101は右から左にそれぞれ2^n(n=0,1,2……)の重みがついています。ですから、01010101を10進数にするには(括弧内は何進数表記かを表しています) 01010101(2) =1*2^0 + 0*2^1 + 1*2^2 + 0*2^3 + 1*2^4 + 0*2^5 + 1*2^6 + 0*2^7(10) =1 + 4 + 16 + 64(10) =85(10) ……(答) もっと簡単なやり方はあるかもしれませんが、2^nは、n=10までなら覚えておいたほうがいいですよ。 また、次に10進数を2進数になおす方法は、0になるまで2で割っていって、横にあまりの数を書いておきます。そして、最後に下から上に読んでいくと2進数表記になります。100の場合は    100 50 0 25 0 12 1 6 0 3 0 1 1 0 1 ですから、下から読んでいくと100(10) = 1100100(2)。質問者様の解答であっています。

回答No.3

もう久しぶりでちょっと自信がないですが たしか!! 00000000 を見ると左から ※1「128 64 32 16 8 4 2 1」だったかと思います 「0=128 0=64 0=32 0=16 0=8 0=4 0=2 0=1」 251251251さんの質問は「01010101」なのでその中で1だけ見ると これを上の※1とあわせると「0 64 0 16 0 4 0 1」になります。 これを足し算すると「0+64+0+16+0+4+0+1=85」となります。 次に100の10進数ですが上の※1の組み合わせで100を作ります。 64+32+4=100となるかと思います。 これを2進数で考えると 128は必要ないから0 64は必要だから1 32は必要だから1 16は必要ないから0 8は必要ないから0 4は必要だから1 2は必要ないから0 1は必要ないから0 となり「01100100」となります。 これで合ってるかと思います。

  • x1va
  • ベストアンサー率26% (802/3006)
回答No.2

1)下一桁から順番に 1×2^0=1 0×2^1=0 1×2^2=4 0×2^3=0 1×2^4=16 0×2^5=0 1×2^6=64 0×2^7=0 これを合計すると85 2)上記を応用して検算してみましょう 0×2^0=0 0×2^1=0 1×2^2=4 0×2^3=0 0×2^4=0 1×2^5=32 1×2^6=64 合計100ということで正解です。

  • kurisp
  • ベストアンサー率66% (14/21)
回答No.1

はじめまして。 情報処理の勉強がんばってください。 リンク先をご参照ください。

参考URL:
http://www.asahi-net.or.jp/~ax2s-kmtn/ref/bdh.html

関連するQ&A

専門家に質問してみよう