- ベストアンサー
二進数の循環小数を十進数に変換する方法
二進数の循環小数を十進数に変換する方法が分かりません。 サイトも探してみたのですが、十進の循環を二進数に変換するものは見つかっても、逆は見つからなくて・・・ 教えていただけませんでしょうか、よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
例えば2進数で A=0.11001100・・・ という循環小数を十進数に変換する場合を考えます。 Aは小数第1位と第2位が1である B=0.11 を初項とする公比 1/16の無限等比級数となっています。 公比 1/16というのは、4桁ごとに循環している(2^4=16)ことから来ています。 B=1/2+1/4=3/4 これが初項で公比 1/16なので A=3/4/(1-1/16)=4/5=0.8 となります。(なんと! 2進数の無限小数が十進数では有限小数にw) 循環の周期が長くなっても同様にして算出できます。 蛇足ですが、0.00011001100・・・が十進数の0.1であることを記憶しておくと応用が利くでしょう。
その他の回答 (1)
- edomin7777
- ベストアンサー率40% (711/1750)
回答No.1
例えば、2進数で 0.101101101101… を10進数に直すには、まず元の2進数を変形させます。 x=0.101101101101… x*1000=101.101101101… 1000x-x=101 111x=101 x=101/111 (ここまでは全て2進数の計算です。) 後は分母分子をそれぞれ10進数に変換するだけ。 (101/111)2=(5/7)10 になるので、10進数で5/7。 5/7=0.714285714285… (10進数でも循環小数になっちゃいました。)