From: sinara@... Date: 2002-04-13T18:47:56+09:00 Subject: [ruby-dev:16900] Re: if Re: BigFloat 原です。 ひだかさん、たけさん、田中さんありがとうございました。 In message "[ruby-dev:16898] Re: if Re: BigFloat" on 02/04/13, "Shigeo Kobayashi" writes: |> value を倍々していけば 1bit ずつ得られるのでは。 |これは原さんのプログラムがやってることですね。 (^^;; 田中さんのは、double の範囲内で収まる演算で可能にしてい ます。 |これが、CPUに非依存(現時点では)であるならば、Float |(の表現)からRatinalに変換する際に誤差がでると言って |しまったのは半分撤回しないといけないですね。 基数は FLT_RADIX マクロで得られるし、仮数と指数のサイズ も他の FLT_*, DBL_* などを使えば得られるので、それらを使 えば内部表現のビットパターンを得る事はでき、誤差なく有理 数にできるのでしょう。(ただし、やはり間接的な方法しかな いみたい。)そして、それらマクロの値は CPU とコンパイラ 依存である、というが結論というところでしょうか。 かなり傍流に入ってしまいました。(^^;