Perl入門ゼミ

テキスト処理、Linuxサーバー管理、Web開発ならPerl
  1. Perl
  2. モジュール
  3. here

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

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";
  • Perlとはテキスト処理の記述性とパフォーマンスに優れ、正規表現が言語に組み込まれているプログラミング言語です。
  • Linuxサーバーでのフィルタリングプログラム、複数行の文字列を処理、ファイル内容の検索・置換などが得意
  • Perlはgitopensslなど広く普及したUnix/Linuxミドルウェアの補助ツールとして採用実績あり。後方互換性とポータビリティの高さがひとつの理由と推測。
  • 大量のテキストを扱うWeb開発も得意。ロングテールSEOを意識したWebサイト、アドテクやソーシャルゲームでの50ms以内のJSONの生成など。