Ergebnis 1 bis 20 von 27

Thema: Fibonacci Folge negativ?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Ein Beispiel wäre BigInteger, was Brauni90 ja schon gepostet hat. Das Konzept ist ganz leicht, auch wenn es mehrere unterschiedliche Ansätze gibt, die aber sehr ähnlich sind. Entweder du legst die Zahlen in Textform als Strings ab (dann kannst du sogar beliebig genaue Kommazahlen darstellen) oder als Byte-Array. Letzteres ist dann effektiv das gleiche, als hättest du normale long long long ... long ints. Theoretisch gehen Binary Coded Decimals auch, aber die sind beim Rechnen etwas unhandlich.

    In beiden Fällen musst du natürlich alle Rechenoperationen selbst implementieren. Allerdings ist das gar nicht mal so schwer. Funktioniert wie schriftliches Rechnen in der Grundschule. Bei Addition und Subtraktion betrachtest du einfach jeweils ein Byte als eine Ziffer, verwendest die normalen Rechenoperationen und achtest auf den Übertrag. Zur Multiplikation empfehle ich das erste Kapitel von Prof. Peter Sanders' Algorithms and data structures: the basic toolbox (Google Books Link, das Kapitel kann man direkt online lesen) Wenn Bedarf besteht, kann ich dazu auch noch die Vorlesungsfolien raussuchen. Ich hatte das Glück, Algorithmen I bei Prof. Sanders zu haben. Der Mann ist wirklich kompetent.

    Die Division könnte etwas schwieriger werden, ist aber auf jeden Fall auch machbar, solang man ausreichend Speicher hat.

  2. #2
    Das hört sich verdammt intressant an o.o Werd mich mal jetzt gleich damit beschäftigen. Vom Vorlesungsstand bei mir hätte ich ehrlich gesagt selbst drauf kommen müssen (Ich sollte wohl mal wieder nacharbeiten).
    Dabei nutze ich das Konzept auch um mehrere Werte in einem Int zu lagern .__.°

    Dank Dir!

  3. #3
    Erwarte aber nicht, dass deine Softwareimplementierung schnell sein wird. Besonders hinter Multiplikation und Division verbergen sich eine Unzahl an Rechenschritten, die in Software gelöst - je nach Größe der Zahl - viel Rechenleistung beanspruchen können. Theoretisch mag der Arbeitsspeicher das Limit darstellen, praktisch ist es aber die Laufzeit, denn du wirst kaum Wochen, Monate, oder mehr auf eine Berechnung warten wollen.

    BCD-Arithmetik und Konsorten werden in der Regel nur im wissenschaftlichen, oder kaufmännischen Bereich benötigt. Außerhalb dieser Bereiche ist höchstens interessant zu wissen, dass es sowas gibt, oder wie es in der Theorie funktioniert, mehr nicht.

    Geändert von Kyuu (16.11.2009 um 07:49 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •