【Try Python】10進数の実数を2進数に変換するプログラム

 リスト1のdec2bin_ex()関数は、実数を2進数に変換できるようにしたプログラムです。引数targetには、10進数の値を与えてください。実行例は次の通りです。

[画像のクリックで拡大表示]
リスト1 10進数から2進数に変換する「dec2bin_ex」(実数対応版)
[画像のクリックで拡大表示]

 最初に、与えられた引数を整数部と小数部に分けましょう。int()関数を使うとtargetの整数部が取得できます。この値をtargetから引くと小数部が残りますね。その後の①は整数部を2進数に変換する処理です。

 ②からは小数部を変換する処理です。小数部に2を掛けて、答えの整数部をリストに追加する処理を、小数部が0になるまで繰り返してください。③は、10回繰り返したらループを終了するための命令です。繰り返す回数を制限した理由は、このあとの「避けられない実数誤差」を参照してください。