Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Darstellen einer unendlich große Zahl

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
18.04.2007, 21:58 Uhr
dimonfranz



Hallo,

ich habe eine Aufgabe kann jemand mir helfen?

Aufgabe:
Leider ist die Zahlenmenge der Ganzzahlen auf dem Rechner sehr beschränkt. Auch mit long Zahlen lassen sich nicht beliebig große Zahlen darstellen.

Spezifizieren Sie eine Klasse BigInt, die sehr große Zahlen aufnehmen kann, z.B. „9988372876549871763527894876266637477652673878283737388283737
23772734819324498375937876786747327768347827862742738743287247
83476257834298398404409254983478921099579378042348193244983759
37876786747327768347828375937876786747327768347827“.

Dazu wählen Sie dabei eine geeignete Datenstruktur für die Speicherung der Zahlen. Geben Sie Funktionsprototypen für die notwendigen Konstruktoren und Destruktoren an. Geben Sie Funktionen und Operatoren für diese BigInt Objekte an. Orientieren Sie sich an dem, was man mit long-Zahlen innerhalb von C++ durchführen kann.


Danke!

EDIT: Zahl umgebrochen, damit Forenlayout nicht zerstört wird.

Dieser Post wurde am 18.04.2007 um 22:03 Uhr von Reyx editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
18.04.2007, 22:03 Uhr
Reyx
IT-fetischistischer Wurstsalat mit rostigem Berghorn
(Operator)


Also, um Zahlen wirklich _beliebig_ vieler Stellen anzuzeigen, wäre imho die einfachste Möglichkeit, sie einfach als String zu speichern.

Ansonsten verteilt man afaik meist die Zahl auf eine Kombination vorhandener Datentypen, z.B. __int64. So könntest du z.B. eine Art "Exponentialschreibweise" implementieren.

Dieser Post wurde am 18.04.2007 um 22:04 Uhr von Reyx editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
19.04.2007, 00:18 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Vom Prinzip her fehlt folgende Information um die Aufgabe sinnvoll bearbeiten zu können.

Welche Genauigkeit/Präzision wird erwartet...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
19.04.2007, 10:21 Uhr
Bruder Leif
dances with systems
(Operator)


Moin!

Erst mal ganz simpel: Mach einen String draus. Dann schreibst Du Dir eigene Methoden fuer Addition, Multiplikation und so weiter, die einfach die Schulmethode nachbauen. Dann das ganze in eine Klasse verpacken, Operatoren ueberladen und fertig!

Was die Geschwindigkeit angeht, ist natuerlich noch ordentlich Platz fuer Optimierungen, Google mal nach "Karatsuba" und folge den Links...
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: