分数を小数に変換する方法


ベストアンサー

長い除算を使用して除算します。

½= 1÷2

1÷2 = 0、余りは1なので、1の位は0です。

余りに0を追加し、除算を繰り返します。

10÷2 = 5余りがないので、10位は5です。

続行する場合は、最後に0を追加し続けます。

より簡潔に:

\ tfrac12 = 1÷2

1÷2 = \ mathbf {0} R1:0

10÷2 = \ mathbf {5} R0:0.5

つまり、\ tfrac12 = 0.5です。

\ tfrac18で試してみましょう:

\ tfrac18 = 1÷8

1÷8 = \ mathbf {0} R1:0

10÷8 = \ mathbf {1} R2:0.1

20÷8 = \ mathbf {2} R4:0.12

40÷8 = \ mathbf {5} R0:0.125

つまり、\ tfrac18 = 0.125

\ tfrac13で試してみましょう:

\ tfrac13 = 1÷3

1÷3 = \ mathbf {0} R1:0

10÷3 = \ mathbf {3} R1:0.3

続行する場合は、さらに3を追加し続けます:

10÷3 = \ mathbf {3 } R1:0.33

10÷3 = \ mathbf {3} R1:0.333

したがって、その代わりに、3の上に線を引いてそれを示します。無限に繰り返されます:

\ tfrac13 = 0。\ overline3

より一般的には、以前に取得した余りを取得するたびに、パターンはその以前のポイントから繰り返されます。

\ frac16で試してみましょう:

\ frac16 = 1÷6

1÷6 = \ mathbf {0} R1:0

10÷6 = \ mathbf {1} R4:0.1

40÷6 = \ mathbf {6} R4:0.16

\ frac16 = 0.1 \ overline6

\ tfrac17で試してみましょう:

\ tfrac17 = 1÷7

1÷7 = \ mathbf {0} R1:0

10÷7 = \ mathbf {1} R3:0.1

30÷7 = \ mathbf {4} R2:0.14

20÷7 = \ mathbf {2} R6:0.142

60÷7 = \ mathbf {8} R4:0.1428

40÷7 = \ mathbf {5} R5:0.14285

50÷ 7 = \ mathbf {7} R1:0.142857

\ tfrac17 = 0。\ overline {142857}

回答

興味深い質問ですが、重要なアルゴリズム。

ほとんどの計算機は、連分数を使用します。関数x |-> 1 /(x-int(x))を繰り返し、常にint(x)を追跡します。

1.3529411764705883を分数に変換する必要があるとします。そのintは1で、残りは1 / .3529411764705883 = 2.8333333333333326です。その整数は2で、残りの反転は1 / .8333333333333326 = 1.200000000000001です。その整数は1で、残りの反転は4.999999999999975です。その整数は4で、残りは1 / .999999999999975 = 1.000000000000025です。そのintは1で、残りの反転は40000000000000.0です。その整数は40000000000000で、残りは0なので、反転することはできません(または、40000000000000が大きすぎることに注意して、1ステップ前にカットオフします)。

とにかく、整数は1,2,1です。 4,1,40000000000000。次に、プロセスを逆にします。最後の1つを0に丸めて反転し、最後から1つを追加(1)、反転(1)、前の(4)を追加、5を取得、反転(1/5)、追加1は6/5を取得し、反転は5/6を取得し、2を追加すると17/6を取得し、反転は6/17を取得し、1を追加すると23/17を取得します。それが解決策です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です