Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Datenstruktur extrem großer Zahlen (https://www.delphipraxis.net/107692-datenstruktur-extrem-grosser-zahlen.html)

Hybrid666 31. Jan 2008 22:40


Datenstruktur extrem großer Zahlen
 
Guten Abend.

Ich bin Student an der Uni Stuttgart im ersten Semester. Und nu kommt im Programmierkurs die letzte aufgabe (und ne sehr entscheidende). Wir sollen ein Programm (und falls wirs für nötig erarchten einen Datentyp) schreiben, das mit großen Zahlen umgehen kann und mindestens die Fakultät von 1000 berechnen kann. Ich wollt mir hier mal anregungen holen wie so ein datentyp aussehen könnte. so spontan fällt mir hier jhetzt nicht wirklich was ein. Vielleicht kann mir hier ja jemand ne idee sagen.

Für die dies interessiert, das hier ist die aufgabe: Programmierkurs Aufgabe

Danke für alle IDEEN (Ich betone ideen, ich will das selber schreiben und auch keine codeschnipsel, nur anregeungen, danke!)

DANKE FÜR ALLES

MfG Hybrid666

dominikkv 31. Jan 2008 23:10

Re: Datenstruktur extrem großer Zahlen
 
Such mal hier im Forum nach BigInt... da kannst du dir vllt was abgugn ;)

Dani 31. Jan 2008 23:31

Re: Datenstruktur extrem großer Zahlen
 
Servus Kommilitone :hi: und erstmal herzliches Beileid zu Ada95 :mrgreen:

Eine Möglichkeit wäre, die Zahl als Betrag und Vorzeichen zu speichern. Also ein extra Byte für das Vorzeichen und dann noch ein Array of Bytes für den Betrag.

In ein Byte passen 8 Bits, also 256 Zahlen. In ein Array of Byte der Länge N passen N*8 Bits, also genau 256^N Zahlen. Du musst eigentlich nur wissen, wie man Binärzahlen mit Betrag und Vorzeichen addiert/subtrahiert/multipliziert/etc und diese Operationen als Prozeduren / Funktionen implementieren. Ein Problem wird wahrscheinlich, dass Du erst mal so eine Art dynamisches Array basteln musst, weil Ada95 das nicht mitbringt.

Edit: es wird in der Aufgabe zwar nicht direkt gefordert, aber das schreit natürlich nach einem ADT...


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:36 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz