• ベストアンサー

rubyのエラー out of float range の原因

rubyでout of float range と算出されました。 これは計算の桁が大きすぎるためなのでしょうか。 ルビーは計算の桁がメモリーの許す限り無限と聞いたのですが。 どういう意味なのか教えていただきたいです。

  • Ruby
  • 回答数2
  • ありがとう数6

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4835/10236)
回答No.1

>これは計算の桁が大きすぎるためなのでしょうか。 そんなところです。 例えば、 a=1E1000 # 10の1000乗 とすると、 warning: Float 1e1000 out of range という警告が出て、a の値は Infinity (無限大) になります。 >ルビーは計算の桁がメモリーの許す限り無限と聞いたのですが。 違います。きっと、聞き間違い、読み間違いですね。 整数の計算はメモリーの許す限り無限桁です。 通常の浮動小数点数の値は普通の他の言語と同じ。 BigDecimalライブラリを使うと、任意の桁数で浮動小数点数計算できます。

その他の回答 (1)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

http://oshiete1.goo.ne.jp/qa5646276.html >rubyの整数 です。Floatは無限ではないです。 コンビネーションの計算ということだったので、整数演算のみが必要なので、紹介いたしました。 なにやら、確率計算をしているようですが nCm * (p^m) * ((p-1)^(n-m)) みたいな計算を、この式通りに計算しようとしてませんか? コンピュータで計算するときは、公式のまま計算するのではなく、式を変形して、コンピュータが計算しやすいようにすることも大切です。

参考URL:
http://www.ruby-lang.org/ja/man/html/Rational.html

関連するQ&A

  • rubyエラー begum out of float range

    メソッド定義 a(b,d) bの中からdつを選ぶ組み合わせの個数 a(7000,3500)*((1.0/ 300)**3500)*((299.0/ 300)**3500) これを計算させるにはどうしたらいいのでしょうか? begum out of float range のエラーがでます。

    • ベストアンサー
    • Ruby
  • OUT OF RANGE

    こんばんは。 早速ですが・・・ 今、中学校のパソコンの「OUT OF RANGE」が出た原因&対処方法を探しています。 でも見つからないので・・・ 教えてください。 OUT OF RANGEの表示される原因と対処方法を教えてください。 詳細: 中学校の1台のパソコンに「OUT OF RANGE」と表示されて起動しません。 (Windows98のロード画面が終わってその後に左上に表示される→_のあとに表示される) で、ためしにセーフモードで起動させて何もないところで右クリックしてプロパティをクリックしたあとにこんなメッセージが表示されます。 「このコントロールパネルは管理者により使用不可になっています。」 とかいうメッセージが表示されます。 この対処法も教えてください。 (質問はできる限りします。) スペック 型名:不明 メーカー:NEC(法人モデルかも) OS:Windows98 よろしくおねがいします。

  • out of range!のロゴが消えない

    out of range!が出て画面が暗くなったのでそれを直したら画面は見えるようになったのですがout of range!のロゴが消えません、どうしたら消えますかお願いします。

  • ディスプレイでout of rangeがでる

    自分のPC(win7 64bit)でたまにいつもはでない領域の解像度設定がでます。 いつもはマックス1620×1200なのですが、たまに1900×1200くらいまででます。 最近はなぜかでませんが・・・ どうしてでるのかも不明です。 そしてあるときためしに1900×1200とかを選んでやったらout of rangeがでて私のディスプレイでは表示できませんでした。またいつもの1024×768に戻したんですが、そのときからPCの電源をつけるとout of rangeが出て強制終了をしなくてはいけません。out of rangeがでるときとでないときがあってこれも謎なんですが・・・ PC上で解像度の設定がout of rangeの範囲で記憶しているということでしょうか? どうやったら解決できますか? どこか設定をいじった記憶はないです。 私のディスプレイは古いものでブラウン管です。

  • PCをつけるとたまにout of rangeがでる

    以前にディスプレイの解像度を変えるとout of rangeと出てその解像度には変えれませんでした。そして元の解像度に戻して電源を切ってつけると out of rangeとでて、何を押しても反応がなくて強制終了するしかありませんでした。 それからセーフモードで解像度を変更すればいいとここで教えてもらってしたらいけたのですが、今度は2回に一回くらい電源をつけるとout of rangeがでるようになりました。 win7 64bitです どうすればでなくなりますか?

  • PCをつけるとOUT OF RANGEとでる

    ディスプレイの解像度の設定で1900×1200とかにしたらOUT OF RANGE(たしかこんな感じだった)と表示されて少し立つと元に画面に戻って設定のしなおしということをしたんですが、それからいつもどおりの1024×912の解像度でやって電源を消して、それから今度立ち上げるとOUT OF RANGEと出てPCが起動しません。 起動しないというかその画面から変化しません。 強制終了するしかなく、強制終了してもう一度つけると普通につきます。 たぶんどこかでOUT OF RANGEの解像度がセーブされているんだと思うんですけど どこで設定を変えればいいですか? win7 64bitです

  • out of range ってなんですか?

    My cell phone is out of range and its hard for me to send mail...sorry I will e-mail u tomorrow.. Ny phone is back in range... この文の意味がわかりません。正しい訳をおしえてください 私の携帯は放置してた(?)携帯めールをするのは大変だ。ごめん明日メールする(?) あと、 この後、携帯でメールはやったもののすぐパソコンになってしまいました。相手に、なぜあなたは携帯でメールしないの?と聞いてもおかしくはないですか?(以前rangeと書いてあったけど)

  • Out of Range が消えない・・・

    vaio のデスクトップを使用しています。 windows XP ここ数日、パソコンを起動していると突然フリーズしたり、電源をつけたままおいておくと、数分でかならずフリーズしていました。 その際、Ctrl+Alt+Deleteでも消せないので電源を切るしかありません。 何度か消しているうちに電源を入れるとwindowsのロゴの部分までいくのですが、途中でプツッと切れて、Out of Rangeと表示されまったく動きません。 メーカーさんに問い合わせて、セーフモードで起動できず、その他もろもろ試してみましたが、かならずOut of Rangeがでてきて全く動きません。 システムリカバリするしかないとのことですが、こないだ誤ってシステムリカバリしてようやくもとの状態まで戻したので出来ればシステムリカバリはしたくありません。データも残しておきたいのです。 どうかよろしくお願いします。

  • OUT OF RANGE!

    インターネット中突然調子が悪くなり、再起動したところ、パスワードを入れる画面までは行きますが、その後画面が真っ黒になり、中央にブルーに白地で「OUT OF RANGE!」というメッセージが出ました。 そしてそのまま、動きません。 電源を落としても、同じところで止まってしまいます。  どうしたらよいか、ご存知の方いらっしゃいませんか!?

  • OUT OF RANGEでうごかない

    今朝家で使っているpcを起動するとディスプレイにはout of rangeと言う文字がでて操作ができなくなりました。 ケータイなどで調べてみるとセーフモードにするらしいのですがどのUSBポートでためしてもキーボードは反応せずセーフモードにならず困っています。 解決方法をどなたか教えてください POWEREDGE SC430です