Math::BigInt、Math::BigFloat - 大きな桁数を持つ数の計算



  1. Perl




  2. モジュール



  3. here

Perl数値の有効桁数は15〜16桁くらいで、普通の演算ではこれ以上大きな数の演算を行うことができません。大きな桁の数値を扱いたい場合はMath::BigIntMath::BigFloatを使用します。

大きな整数の演算

大きな整数の演算を行うにはMath::BigIntモジュールで生成したオブジェクトを用いて計算を行います。

use Math::BigInt;
my $big_int = Math::BigInt->new("11111111111111111111111111111111111111111111");
$big_int = $big_int * 2;
小数点以下の桁数が大きい数の演算

 Math::BigFloatモジュールで生成したオブジェクトを用いて計算を行います。

use Math::BigFloat;
my $big_float = Math::BigFloat->new( "0.1111111111111111111111111111111111111");
$big_float = $big_float * 2;

サンプル

Math::BigInt、Math::BigFloatを使ったサンプルです。

use strict;
use warnings;
use Math::BigInt;
use Math::BigFloat;

print "(1)大きな整数の演算\n";
my $big_int = Math::BigInt->new("11111111111111111111111111111111111111111111");
$big_int = $big_int * 2;
print $big_int . "\n\n";

print "(2)小数点以下の桁数が大きい数の演算\n";
my $big_float = Math::BigFloat->new( "0.1111111111111111111111111111111111111");
$big_float = $big_float * 2;
print $big_float . "\n";