Rechnen mit sehr großen Zahlen

09/09/2010 - 09:05 von Udo | Report spam
Hallo, liebe Mitleser,

beim Rechnen mit sehr großen Zahlen kommt man mit Standard- Werkzeugen
(MS Excel ...) schnell an Überlaufgrenzen. Excel kennt zwar Datentypen
wie Long, Decimal und Currency - aber geholfen ist einem bei richtig
großen Zahlen damit nicht wirklich.
Beim Übungs-Programmieren einiger Algorithmen zur Primzahltestung
unter VBA fand ich das unbefriedigend, weil durch die relative
Kleinheit der zur Verfügung stehenden Datentypen moderne Rechner auch
einen "lahmen" Algorithmus schnell abarbeiten. Performance-
Unterschiede sieht man erst, wenn's zu den richtig großen Zahlen geht.

Meine Frage: Wenn ich lese, dass jemand eine noch größere Primzahl als
bisher bekannt entdeckt hat - mit welchen Programmen arbeiten diese
Leute? Bestimmt nicht mit Excel :-))

Ich erinnere mich dunkel, dass irgendwann mal die Rede davon war, dass
man Rechenzeit des eigenen Computers für die Primzahlsuche zur
Verfügung stellen konnte. Wie muss ich mir die Verarbeitung
astronomisch großer Zahlenin in einem solchen virtuellen Rechner-
Cluster vorstellen, wenn mein Rechner nur über eine 32-Bit-Architektur
verfügt?

Freundliche Grüße
Udo
 

Lesen sie die antworten

#1 Gottfried Helms
09/09/2010 - 09:56 | Warnen spam
Am 09.09.2010 09:05 schrieb Udo:
Hallo, liebe Mitleser,

beim Rechnen mit sehr großen Zahlen kommt man mit Standard- Werkzeugen
(MS Excel ...) schnell an Überlaufgrenzen. Excel kennt zwar Datentypen
wie Long, Decimal und Currency - aber geholfen ist einem bei richtig
großen Zahlen damit nicht wirklich.
Beim Übungs-Programmieren einiger Algorithmen zur Primzahltestung
unter VBA fand ich das unbefriedigend, weil durch die relative
Kleinheit der zur Verfügung stehenden Datentypen moderne Rechner auch
einen "lahmen" Algorithmus schnell abarbeiten. Performance-
Unterschiede sieht man erst, wenn's zu den richtig großen Zahlen geht.

Meine Frage: Wenn ich lese, dass jemand eine noch größere Primzahl als
bisher bekannt entdeckt hat - mit welchen Programmen arbeiten diese
Leute? Bestimmt nicht mit Excel :-))

Ich erinnere mich dunkel, dass irgendwann mal die Rede davon war, dass
man Rechenzeit des eigenen Computers für die Primzahlsuche zur
Verfügung stellen konnte. Wie muss ich mir die Verarbeitung
astronomisch großer Zahlenin in einem solchen virtuellen Rechner-
Cluster vorstellen, wenn mein Rechner nur über eine 32-Bit-Architektur
verfügt?

Freundliche Grüße
Udo


Die Langzahl-Darstellung wird softwaremàßig abgehandelt -
die Implementierungen bis 32 bit oder 64 bit sind ja heute
làngst in der Hardware vorhanden.
Es gibt freie Softwarepakete, die mit beliebig langen
(natürlich begrenzt durch Hauptspeicher) Zahlen standard-
màßig umgehen. Z.B. Pari/GP mit dem ich selbst arbeite,
hat kein Problem mit 1000, 10000 Dezimalstellen (wenn man
solche Zahlen natürlich unbedingt faktorisieren will muß man
halt "ein wenig warten")
Ich sage "standardmàßig" weil, wenn man für Sonderfàlle speziell
programmiert, man das natürlich problemabhàngig ausdehnen
kann - z.B. habe ich mit Pari/GP die Daten für eine Grafik
berechnet, in denen Kennwerte für Zahlen bis 3^10^2500
dargestellt werden - weil diese Kennwerte von den
Logarithmen bestimmt werden, und von dem dann nur noch die
~ 2500 Stellen numerisch interessant sind...
Pi auf Billionen Stellen behandelt man dann auch nicht
mit den "Standardmethoden" sondern programmiert was spezielles.
- letztlich, indem man softwareseitig die Zahlen
bspw dezimalzifferweise in Arrays abspeichert, deren Größe
nur durch Hauptspeicher (und die Bitbreite der Indexregister)
begrenzt sind und dann beginnend bei der Incrementation über
Addition, Multiplikation, Logarithmus, Exponentiation alle
mathematischen Basisoperationen ausprogrammiert (gibt's
aber auch alles schon in fertigen Programm-Bibliotheken).

Ein prinzipiell interessanter weiterer Schritt sind dann
andere Zahlrepràsentationen. Andere Stellensysteme, Produkt-
oder Continued-fraction-Darstellungen; oder Darstellungen,
die höhere Funktionen wie Powertower oder generell Ackermann
verwenden. Robert Munafo hat einen "Hypercalc"-Rechner geschrieben,
der mit solch einer Zahlendarstellung jeden denkbaren Overflow
locker ausatmet (nach seiner eigenen Darstellung, ich hab's
aber noch niemals ausprobiert, glaub' es ist ein Unix/Linux-
Ding)

Gottfried

Ähnliche fragen