0.1を2進数で求めようとして、その大変さに気づいた話

前回は、2進数の求め方を自分なりに整理してみた。
infoment.hatenablog.com
今回は、小数点以下の数を2進数で求めるお話。
f:id:Infoment:20220321225639p:plain

前回紹介したように、0以上の場合、低い位(つまり0に近いところ)から
順に、その位に入る数を求めていった。小数点以下の場合も、同様の考え方
で良いらしい。

↓ 10進法の数字を10進法に変換するの図 ↓
f:id:Infoment:20220321230356p:plain

私のイメージするところでは、まず、小数点以下の数字が歯磨き粉チューブの
ようなものに収まっているところを連想する。
f:id:Infoment:20220321231917p:plain

10進数なら、このチューブをギュッと握ると、中の数が10倍される。桁が
上がって飛び出してきた数字が、その桁に収まる数字だ。何も出てこないなら、
その桁には0が入る。それを、0以外の数字が無くなるまで続ける。

例えば2進数なら、こんな感じだ。チューブを握るたび、2倍されていく。
f:id:Infoment:20220321232359p:plain

と、ここで気づいた。0.1って、どうなるんだ?
f:id:Infoment:20220321232825p:plain

ひょっとして、これは終わらない?
そうか、だから ↓ こうなのか。
f:id:Infoment:20220321232924p:plain

なるほど、ようやくちゃんと理解できた気がする。

参考まで。