Hatena::ブログ(Diary)

うまい棒blog このページをアンテナに追加 RSSフィード Twitter

2008-05-27

perlで標準より大きい有効数字の整数、小数を扱う

$ perl -le 'print 2 ** 100'
1.26765060022823e+30

整数

bigint or bignumプラグ

Math::BigIntのwrapper。

use bigint;
print 2 ** 100, "\n";
# => 1267650600228229401496703205376
Math::BigIntモジュール
use Math::BigInt;
print 2 ** 100, "\n";
# => 1.26765060022823e+30
print Math::BigInt->new(2)->bpow(100), "\n";
# => 1267650600228229401496703205376

小数

$ perl -le 'print 1 / 3'
0.333333333333333
bignumプラグ
use bignum;
print 1 / 3, "\n";
# => 0.3333333333333333333333333333333333333333
Math::Bigfloatモジュール
use Math::BigFloat;
print Math::BigFloat->new(1)->bdiv(3), "\n";
# => 0.33333333333333333333333333333333333333331

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/hogem/20080527/1211897693