emueの日記

学んだことを書いていきます

小数の10進数を2進数で表す方法

基本情報技術者試験に向けて勉強していて、小数の10進数を2進数で表す問題があった。整数部分は知っていたけど、小数部分については知らなかったのでメモ。

例)7.75_{(10)}を2進数で表わせ 。

まず整数部分と小数部分に分けて考える。

整数部分の7について

1になるまで2で割ってき余りを記録していく。図のように書くのが簡単。 f:id:syndiotactic:20170801192644j:plain:w300
そして図の矢印のように記録した順と逆に余りをならべて 7_{(10)}=111_{(2)}

小数部分の0.75について

小数部分に2をかける。出てきた数の整数部分を記録し、再び小数部分に2をかける。この操作を出てくる数が1になるまで繰り返す。図のように書くのが簡単。 f:id:syndiotactic:20170801192654j:plain:w300
そして図の矢印のように記録した順に並べて 0.75_{(10)}=0.11_{(2)}

以上より7.75_{(10)}=111.11_{(2)}