Thread printf mit großen Zahlen? (9 answers)
Opened by LanX- at 2009-06-16 11:23

LanX-
 2009-06-16 16:48
#122539 #122539
User since
2008-07-15
1000 Artikel
BenutzerIn

user image
gute Idee, man kann sogar mit dem output weiterrechnen

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
perl -MMath::BigInt -e '
($\,$,)=("\n","\t");
for $i (1001,1_000_001,1_000_000_001,1_000_000_000_001) {
$j=$i; 
$q=$j**2;               
$s=sprintf("%020s",$q); 
print $q,int($q),$s++,$s;
}                        
'                        
1002001 1002001 00000000000001002001    00000000000001002002
1000002000001   1000002000001   00000001000002000001    00000001000002000002
1.000000002e+18 1.000000002e+18 000001.000000002e+18    1.000000002e+18
1.000000000002e+24      1.000000000002e+24      001.000000000002e+24    1.000000000002e+24


und kann den gleichen Code transparent mit BigInt verwenden:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
perl -MMath::BigInt -e '
($\,$,)=("\n","\t");
for $i (1001,1_000_001,1_000_000_001,1_000_000_000_001) {
$j=new Math::BigInt "$i";
$s=new Math::BigInt "0";
$q=new Math::BigInt "0";
$q=$j**2;
$s=sprintf("%020s",$q);
print $q,int($q),$s++,$s;
}
'
1002001 1002001 00000000000001002001    00000000000001002002
1000002000001   1000002000001   00000001000002000001    00000001000002000002
1000000002000000001     1000000002000000001     01000000002000000001    01000000002000000002
1000000000002000000000001       1000000000002000000000001       1000000000002000000000001       1000000000002000000000002


sieht gut aus, danke : )

View full thread printf mit großen Zahlen?