No.2ベストアンサー
- 回答日時:
perl -MMath::BigFloat -e "print $Math::BigFloat::VERSION"
をコマンドラインから実行してみてそのバージョンが1.58(現時点での最新)
かどうかを確認し、最新であれば
>perl -MMath::BigFloat -e "print $Math::BigFloat::VERSION"
1.58
perl -MMath::BigFloat -e "my $x = Math::BigFloat->new(2); print $x->bsin(100);"
0.909297426825681695396019865911744842702254971447890268378973011530967301540783
5446201266889249593803
のように、Math::BigFloatクラスのメソッドが使えます。
最新のものでなければ、Windows 以外のOSなら cpan コマンドを、WindowsでActivePerlを使っているなら、
ppm コマンドを使って最新のものに更新してください。
このとき指定するのは Math::BigIntモジュールなのに注意してください。
>ppm-shell
ppm 4.01
Copyright (C) 2007 ActiveState Software Inc. All rights reserved.
ppm> search math-bigint
1: Math-BigInt v1.64
2: Math-BigInt v1.87
3: Math-BigInt v1.79
4: Math-BigInt-BitVect v1.11
5: Math-BigInt-Constant v1.04
6: Math-BigInt-FastCalc v0.15
7: Math-BigInt-FastCalc v0.10
8: Math-BigInt-GMP v1.24
9: Math-BigInt-GMP v1.19
10: Math-BigInt-Named v0.03
11: Math-BigInt-Pari v1.13
12: Math-BigInt-Random v0.03
13: Math-BigIntFast v6.0
ppm> install 2
Downloading Math-BigInt-1.87...done
Downloading Test-Simple-0.70...done
Unpacking Math-BigInt-1.87...done
Unpacking Test-Simple-0.70...done
Generating HTML for Math-BigInt-1.87...done
Generating HTML for Test-Simple-0.70...done
Updating files in site area...done
10 files installed
6 files updated
ppm> quit
No.3
- 回答日時:
どなたも回答されていないようなので・・・・。
Perlで有効桁数を上げて計算をするには、BigIntやBigFloatを使用します。
Zeal250さんが整数の演算を行いたいのか浮動小数点の演算で有効桁数を上げたいのかはわかりませんが、例として、整数演算の有効桁数を上げたいとすると、下記のようになります。
use Math::BigInt;
$big = Math::BigInt->new("1.23456789e+200");
$big *= $big;
print $big;
なお、お使いのPerlのバージョンが5.8であれば、
use biginit;
$big = 1.23456789e+200;
$big *= $big;
print $big;
としても、計算ができます。
Perl5.8以降では、Math::BigIntモジュールのラッパーがbiginitモジュールとして実装されているようです。
お試しください。
No.1
- 回答日時:
use bignum;
パラメータ等はperldoc bignum で。
携帯端末からなのでとりあえずこれだけ。
ただ、好きなだけ精度をあげられる代わりに遅いです。
この回答への補足
ありがとうございます。
よろしければもう一点確認させて下さい。
"use bignum"を宣言した状態で、三角関数演算(sin)を使用すると
エラーストップしてしまいます。
コード:
use bignum;
sin(2);
エラーメッセージ:
"Operation 'sin':no method found, argument in overloaded package Math::BigInt at test.pl line 2"
"use bignum"を使わなければ、このエラーメッセージは発生しません。
use Math::BigInt記述していてもいなくても結果は変わりません。
bignumを使いつつ(有効桁数を上げつつ)、三角関数を計算できる方法
がありましたら教えて頂けないでしょうか。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 化学 有効数字の取り扱いについて 高校化学では、測定値同士の計算結果の有効数字は、測定値に合わせるようにな 4 2022/06/30 14:07
- 高校 高校化学、気体、温度の有効数字 3 2023/04/02 11:39
- 高校 有効数字計算 確定した値を含む 2 2023/01/18 06:03
- 化学 有効数字の問題にです 4 2022/08/02 22:33
- 物理学 「NHKの時報の音は、振動数が440Hzです。この音の波長を求めましょう。ただし、音の伝わる速度を3 6 2023/03/02 18:24
- Excel(エクセル) SUMIF関数について 4 2023/06/14 13:13
- Perl perlをバージョンアップしたら、今まで正常に動いていたプログラムが、エラーになってしまった 3 2022/10/05 15:44
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
- Perl perlでリテラル値はメモリにどのように格納されているか? 1 2023/01/15 20:45
- 大学受験 高2旧帝大志望です。共通テスト数学のアドバイスください泣 2 2022/12/14 19:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストファイルで提出とは?
-
INDIRECT 横に再度抽出したい
-
perlで2次元配列をサブルーチ...
-
perlをバージョンアップしたら...
-
openした後、closeしないでプロ...
-
Strawberry Perl for Windows ...
-
Perl 重複カウント 上位3名
-
perlでリテラル値はメモリにど...
-
perlのrequireの動き方について...
-
Windows10においての『Perl』の...
-
TeraPadエディターの操作方法に...
-
Wコロン
-
perl qw 中でコメントアウトす...
-
Perl テキスト 列検索
-
アルファベットに付いて質問し...
-
#!/usr/bin/perlで書きだしたCG...
-
Perlのエラーについてご教授く...
-
perlのflock関数でロックをかけ...
-
AI sisterとは、偽物の人ですか?
-
bashスクリプト
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ActivePerl付属のPPMでモジュー...
-
Perlの数値計算で有効桁数を上...
-
初心者です・・ppmを入力すると...
-
ppmをタイプするとエラーになる
-
ppm
-
DBD::mysql インストールについて
-
perlのリポジトリ
-
例外処理のフローチャートの記...
-
Excel VBAでリンク切れをチェッ...
-
ユーザー定義関数に#NAME?が返...
-
VBAで別モジュールへの変数の受...
-
"JScript"が見つかりません!
-
VBSがコンパイルエラーになりま...
-
VBでグローバル変数を宣言するには
-
エクセルVBAでシートモジュール...
-
「デバイスは PRN を初期化でき...
-
VBA This Workbookモジュール...
-
モジュールの最大数はいくつな...
-
LCD ディスプレイを Raspberry ...
-
Excel VBAで、ユーザーフォーム...
おすすめ情報