Perl vs. Basic Calculator

16/01/2011 - 20:50 von borneo_II | Report spam
Hallo NG,

Gegeben seien :

perl -e '
use strict;
use warnings;
use Math::BigFloat;
my $w=Math::BigFloat->new('2300101023502601121700');
print $w->copy()->bdiv('97')->round()."";
'
Mit einem Ergebnis :
23712381685593814432.98969072164948453608

und

echo "define f(x) { return 2300101023502601121700 / x };f(97)" | bc -l

Ergebnis :
23712381685593825996.90721649484536082474

Laut Wolfram Alpha liefert Basic Calculator
einen besseren Wert.
Wie man sieht, ist der Unterschied ziemlich gross.

Kann jemand mir eine Erklaerung geben ?
Ich danke im voraus.

pub 1024D/6276408C 2009-02-09 "borneo" (borneo) <borneo_II@gmx.de>
 

Lesen sie die antworten

#1 Ralf Döblitz
16/01/2011 - 22:45 | Warnen spam
Dieter Hoffman schrieb:
Hallo NG,

Gegeben seien :

perl -e '
use strict;
use warnings;
use Math::BigFloat;
my $w=Math::BigFloat->new('2300101023502601121700');
print $w->copy()->bdiv('97')->round()."";
'
Mit einem Ergebnis :
23712381685593814432.98969072164948453608


[...]
Kann jemand mir eine Erklaerung geben ?
Ich danke im voraus.



Wenn man accuracy auf 100 setzt (*vor* der Erzeugung des Objekts):

23712381685593825996.90721649484536082474226804123711340206185567010309278350515463917525773195876289

Ralf
Ralf Döblitz * Schapenstraße 6 * 38104 Braunschweig * Germany
Phone: +49-531-2361223 Fax: +49-531-2361224 mailto:
Homepage: http://www.escape.de/users/selene/
Mit UTF-8 kann man gleichzeitig àöüßÄÖÜæœłø‱¼½¾¤¹²³¢€£¥¶§¬÷×±©®™¡¿ verwenden…

Ähnliche fragen