Sehr sehr große Zahlen speichern?

5 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Wenn man sich das Komma nach der 3 wegdenkt hat man eine Zahl die man im binären Format mit etwa (bei Grössenordnung eine Billion) ln(10^12)/ln(2) Bits darstellen kann, das ist nicht viel. Es gibt in den Programmiersprachen Bibliotheken zum "exakten" Umgang mit so grossen integers.

Genau weiß ich es nicht, aber mir ist da gerade eine Idee gekommen :

00 --> a

01 --> b

02 --> c

...

08 --> i

09 --> j

10 --> k

11 --> l

12 --> m

usw.

Da man zirka 256 ASCII-Zeichen, wovon sich aber wohl nicht alle eignen werden, zur Verfügung hat, ließe sich so der Speicheraufwand zumindest schon mal halbieren, allerdings dann auf Kosten der benötigten Rechenzeit, wenn man das wieder zurückrechnet.

Das Problem mit ASCII Zeichen ist ja, dass selbst wenn ich Pi in 2 Ziffer-Blöcke aufteile, ca. 156 ungenutzte Bits habe, die aber trotzdem noch Speicherplatz brauchen.

deswegen überleg ich mir ne Methode, wie ich Dezimalzahlen effizient im Dualsystem speichern kann. Aber wenn ihr ne Möglichkeit habt, kann ich die ja auch aufgreifen.

wenn ich Pi in 3 Ziffer-Blöcke aufteile, kann ich einen Block mit 10 Bits speichern und hab so nur einen Verlust von 25 Zeichen.

1

Um eine von 10 Ziffern zu speichern, brauchst Du log₂ 10≈3,322 Bit, für drei Dezimale also ca. 9,966 Bit. Rundest Du auf 10 Bit auf, ergibt sich eine Redundanz von 0,34%, also „nur“ 3,4 GB pro TB). Drei Dezimale in 10 Bit ist also schon ganz gut. Besser wird es erst mit

  • 31 Dezimale in 103 Bit (0.01%)
  • 59 Dezimale in 196 Bit (0.0032%)
  • 205 Dezimale in 681 Bit (0.0007%)

Allerdings ist es wesentlich einfacher, eine Datei in Vielfachen von 8 Bit zu schreiben. Dafür eignen sich

  • 12 Dezimale in 5 Bytes (0.34%)
  • 65 Dezimale in 27 Bytes (0.035%)
  • 118 Dezimale in 49 Bytes (0.0032%)

12-stellige Zahlen lassen sich auf einem 64-Bit-System noch problemlos handhaben. Darüber wird es schon lästig. Ich frage mich, ob sich der Mehraufwand lohnt, nur um ein paar MB zusätzlich einzusparen.

Hallo,

In der Mathematik will man immer auf etwas hinaus. Dass die Zahl Pi undendlich viele Nachkommastellen hat ist längst bewiesen. Wozu sollte man soviel wie möglich davon Speichern. Auch der Aufbau von Fliesskommazahlen und deren Abhandlung ist durch, Es gibt nichts mehr tun. So faszinierend ein Gedanke auch sein mag, er sollte schon ein realistisches Ziel verfolgen. Zumal die erforderliche Rechenzeit um mit unendlichen Zahlen unendlich umzugehen gegen unendlich sein dürfte.

lg

Harry

Woher ich das weiß:Beruf – IT-Kaufman & Maschinenbauer

wenn du Informatiker bist, wird dir schon was einfallen.

Das ist immer eine Abwägung was rarer ist: Speicherplatz oder Rechenleistung.

Du kannst also die normale ASCI Zeichen verwenden, 1 Byte = 1 Zeichen und 1 TB = 1 Milliarde Zeichen. Oder eine intelligentere Verschlüsselung und vielleicht 3 Stellen in einem Byte unterbringen .. (2 hoch 8 = 256, also 3 Stellen wäre relativ unkompliziert)

Die Frage ist, wielange braucht der Rechner um 1 Mrd Stellen zu berechnen ? Tage, Wochen, Jahre ? und wieviel mehr, wenn du eine bessere Byte Nutzung programmierst.

Ich wäre zu faul dazu und google mir einfach pdf´s zum Runterladen:

https://3.141592653589793238462643383279502884197169399375105820974944592.eu/pi-stellen/

Woher ich das weiß:Recherche

1 GB = 1 Milliarde Zeichen

0

Was möchtest Du wissen?