私はRで次の計算の問題に直面しています。私はfactorial()関数をRに使うことができましたが、パッケージ "gmp"と "Rmpfr"の効率を調べるためにfactorialZ()を使用しました。驚いたことに、私は乗算が0(ゼロ)になることを発見した。 Big Integer( 'bigz')の出力は0です。これはどのように処理できますか?どんな鉛も役立ちます。ありがとう。Rに大きな整数乗算R
0
A
答えて
1
なぜこのようなことが起こっているのか分かりません(私はそれが被乗数が正確なバイナリ表現を持っているかどうかによると思っていましたが、私はそれについて間違っていたと思います)。おそらく、定義されていない動作です。つまり、パッケージの作者がbigz
オブジェクトを通常のR numeric
オブジェクトでうまく再生させる必要があるという特別な理由はありません。
factorialZ(10)/10
Big Rational ('bigq') :
[1] 362880
または背面最初の正規Rの整数に変換します:あなたはがは次のように表すことができないという番号をお持ちの場合は
as.integer(factorialZ(10))*0.1
[1] 362880
あなたが10で分割したい場合は、ちょうどそれをR整数または数値(例えば> 1e310)が、浮動小数点値を持つ操作でそれを使用する必要がある、あなたはmpfr
タイプ(高精度浮動小数点)に変換することができます:
.bigz2mpfr(factorialZ(200))*0.1
1 'mpfr' number of precision 1248 bits
[1] 78865786736479054733166935894034745829709731011205555800275415888196330271667643800669079467809137225619298895315986676109948164059578143835819967701344559489245054862932798359603276806168730010575811932061231243634893448846943919677538088311404392920603667803910252938083642743828224123449104546887425346845059274452636794880000000000000000000000000000000000000000000000000
関連する問題
- 1. R:単純な乗算は整数オーバーフローを引き起こす
- 2. 大きな整数の並列乗算
- 3. 行列の乗算r
- 4. ランダムな要素ごとの乗算R
- 5. Rの計算は大きなNORマトリックス
- 6. SQL Serverの大きな整数をRにインポート
- 7. 倍精度:大きな数の乗算
- 8. 行列乗算によるルーピングR
- 9. 整数除算のRスイープ等価
- 10. 無限大と整数倍の複素乗算/除算
- 11. R索引付け、行列の乗算
- 12. テプリッツ行列のベクトル乗算R
- 13. S3クラス用オーバーロード行列乗算R
- 14. R:整数名
- 15. Rフレーム内の小さな列から大きな列を減算するR
- 16. rで読者のファイルを読むときに大きな整数
- 17. Rの整数の小数表現R
- 18. PHP - 大きな整数のmod計算
- 19. MIPS:整数の乗算と除算
- 20. 異なるRインストールで異なる行列乗算の性能
- 21. Rの入力で数値の階乗を計算する
- 22. 擬似コード:入力3の整数、乗算最大2
- 23. gpuでの大きな行列乗算
- 24. 配列乗算の条件付きifループ - R
- 25. Excelは奇妙なR 2乗計算を行いますか?
- 26. Rを計算する関数R
- 27. Pythonの乗算整数「印刷()」
- 28. 2 64ビット整数のSSE乗算
- 29. 命名パターンに一致するR-乗算列
- 30. Rにおける行列乗算のためのA^kは、
ベン・ボルカー、あなたの提案に感謝します。実際、上記の部分は私が見たいと思っていたものです。私の元の計算では、他のいくつかのソースから生成されたランダムな浮動小数点による乗算が必要です。したがって、手動で乗算することはできません。このような状況を処理するための専用手続きがあるかどうかを知りたい。 – Tubai
便利な答えを提供するには、より多くの文脈が必要です。生成する階乗は非常に大きく、大きな整数型が必要ですか?標準(固定精度)浮動小数点として格納されている値を乗算すると、とにかく大きな整数の精度が失われます。 (数値は非常に大きいので倍精度浮動小数点でも格納できません(例:> 1e310?) –