アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんばんわ。情報処理を勉強中です。
01010101  2進数
この2進数を10進数に変換したいんですが、どのようなやり方をすればいいのでしょうか?
区切ってすればいいのか悩んでいます。

もう一つあるのですが、
100 10進数
を2進数に変換するのですが、自分なりに解くと
1100100なんですが合っているかわかるでしょうか?
よろしくお願い致します。

A 回答 (5件)

パソコンは昔、フロッピー・CD等無い時代、キーを打ち込むことによって紙テープに穴を開けていくことから始まりました。


つまりは電気が通るか通らないか、0と1を覚えさすだけで全ての計算ができるようにしたものです。
メモリーの単位に使われる1・2・4・8・16・32・64・128・256・512・1024・・・と少々半端な数字が使われるのもそのためです。
2進法の加減乗除の計算方法も覚えてください。
    • good
    • 0

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)。質問者様の解答であっています。
    • good
    • 1

もう久しぶりでちょっと自信がないですが


たしか!!

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」となります。
これで合ってるかと思います。
    • good
    • 0

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ということで正解です。
    • good
    • 0

はじめまして。


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

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

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