Perlで32bit以上の計算

32bit以上の変数や計算を行う際には、

use bigint;

や、

use Math::BigInt;

を使用します。両者は微妙に精度が異なります。


#!/usr/bin/perl

use bigint;

$a = 0x300000000;
$b = 0x200000000;

print $a+$b . "n";
print $a-$b . "n";
print $a*$b . "n";
print $a/$b . "n";

結果
21474836480
4294967296
110680464442257309696
1



#!/usr/bin/perl

use Math::BigInt;

$a = 0x300000000;
$b = 0x200000000;

print $a+$b . "n";
print $a-$b . "n";
print $a*$b . "n";
print $a/$b . "n";

21474836480
4294967296
1.10680464442257e+20
1.5

テーマ : プログラミング
ジャンル : コンピュータ

2007-08-23 : Work-Linux-Perl : コメント : 0 : トラックバック : 0
Pagetop
コメントの投稿
非公開コメント

Pagetop
« next  ホーム  prev »

プロフィール

zive

Author:zive
大阪在住、男

ブログ検索

月別アーカイブ

FC2カウンター