Ich möchte ein Programm schreiben, indem viele kleine Zahlen miteinander multipliziert werden.
Sind dabei in Perl irgendwelche Probleme zu erwarten in Sachen "underflow" oder "Rundungsfehler"? Wenn ja, kann mir irgend jemand Tipps geben, wie ich dieses Problem in Perl umgehen kann?
Vielen Dank im Voraus!
stormy2211
2007-11-02 21:50
User since 2007-11-02
20
Artikel BenutzerIn
Sind das eher Kommazahlen oder Ganze Zahlen?
Bei ganzen Zahlen die könnte man einfach miteinander multiplizieren soweit mein bisheriges kleines 1-Tages Wissen mich nicht täuscht.
gruß stormy
OK, aber wie umgehe ich denn das Multiplizieren mit besonders kleinen Zahlen?
Kennt irgend jemand im Netz ein verständliches Tutorial zu diesem Thema?
lichtkind
2007-11-03 12:19
User since 2004-03-22
5697
Artikel ModeratorIn + EditorIn
Wenn du mit kleinen Zahlen rechnen willst, kannst du das Rechnen mit kleinen Zahlen nicht umgehen. Die Ungenauigkeit ist ja winzig, einzig störend sind ungewollt viele Nachkommastellen und die kann man ja mit sprintf formatieren.
Wenn die kleinen Zahlen eine feste Anzahl Nachkommastellen haben, dann kann man auch "Math::BigInt" nutzen und alle kleinen zahlen mit "10**$Anzahl_Nachkommastellen" multiplizieren und zum Schluss dividieren. Damit bekommt man weniger Probleme mit den Fließkommawerten.
Danijel
2007-11-03 23:01
User since 2007-08-01
3
Artikel BenutzerIn
Wie wärs einfach mit Math::BigFloat? Eventuell ist auch Math::BigRat hilfreich. Auf jeden Fall nehmen sie dir die Arbeit ab, deine Zahlen in Integer umzuwandeln.
There are two kinds of management problems. There's the kind you can solve by yelling and the kind you can solve by buying some sort of software. That's why I created "some sort of software that yells". - Dogbert