Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Größte Zahlenklasse (https://www.delphipraxis.net/121114-groesste-zahlenklasse.html)

STS301 22. Sep 2008 17:18

Re: Größte Zahlenklasse
 
ok, danke da ich die .pas Units ja auch in Lazarus verwendn kann, schaue ich einmal nach.

Danke für die Hilfe!

mschaefer 22. Sep 2008 17:26

Re: Größte Zahlenklasse
 
Moin, moin,

Da hat das andere Forum etwas zu bieten:
Multiplizieren in Strings

Grüße // Martin

STS301 22. Sep 2008 17:28

Re: Größte Zahlenklasse
 
danke, das vereinfacht die sache natürlich

Dax 22. Sep 2008 17:40

Re: Größte Zahlenklasse
 
Es mag funktionieren, aber besonders schnell funktionieren wird es wahrscheinlich nicht. Das wirst du gerade bei Zahlen über etwas 100 Stellen (vielleicht sogar früher) sicher merken. String-Mathematik bearbeitet ~3,3 bit pro Aktion, normale x86 Int-Mathematik bearbeitet 32. Noch dazu fallen bei den Strings etlichen Operationen an, die garnicht nützlich sind... Für deine Zwecke ist eine spezialisierte und vor allem optimierte Library mit passenden Algorithmen unerlässlich, falls du dich nicht schwarz warten willst, während ich GMP# in Zahlenbereichen arbeite, von denen du zeit- und speichermässig und träumen kannst ;o)

gammatester 22. Sep 2008 18:24

Re: Größte Zahlenklasse
 
Zitat:

Zitat von STS301
ja schon, nur ich muss ja nachschauen, ob es eine Primzahl ist oder nicht

Theoretisch geeignet für solche Sachen und Lazarus/Freepascal und Delphi ist meine MArith-Bibliothek oder Marcel Martins NX

Allerdings ist der Nachweis, daß eine allgemeine 1000-stellige Zahl prim ist, sehr SEHR zeitaufwendig. Es sei denn, sie hat spezielle Eigenschaften, zB eine Mersenne-Zahl, oder man begnügt sich mit wahrscheinlich prim. Wenn sie zusammengesetzt, ist das relativ einfach nach zu weisen.

Beispiel mit meinen Demo-Calculator

ispprime(mersenne(3217)) = true in 2.2 s
ispprime(mersenne(3221)) = false in 2.3 s

Wenn Du Primaliät nachweisen willst, kannst Du Marcels Primo runterladen, allerdings rechnet das wie gesagt sehr, sehr lange.


Gruß Gammatester

monta 23. Sep 2008 22:43

Re: Größte Zahlenklasse
 
ggf. je nach Anwendung auch:

GNURZ: Arithmetik zum Umgang mit (G)roßen (N)atürlichen (U)nd (R)ationalen (Z)ahlen
http://www.lazarusforum.de/viewtopic.php?f=29&t=2015

STS301 24. Sep 2008 11:48

Re: Größte Zahlenklasse
 
@gammatester:

Die Demo funktioniert bei mir nicht, er meint dauernt, es fehlt ihm eine .dcu.

@Marcels Primo: ich würde es gerne seöbst Programmieren, daher meine Frage.

@monta: dich gibt es hier auch ;)

nur leider kann ich damit maximal 19. Stellige Zahlen bearbeiten.

gammatester 24. Sep 2008 17:27

Re: Größte Zahlenklasse
 
Zitat:

Zitat von STS301
@gammatester:

Die Demo funktioniert bei mir nicht, er meint dauernt, es fehlt ihm eine .dcu.

Wenn Du noch verräts welche, kann ich Dir weiterhelfen! Vielleicht HRTimer?. Dann lade das Util-Archiv runter (kann eh nicht schaden).

Gruß Gammatester

STS301 24. Sep 2008 19:26

Re: Größte Zahlenklasse
 
mp_types.dcu

obwohl die .pas Datei existiert

ich schaue mir das Ganze morgen genauer an.

monta 24. Sep 2008 23:32

Re: Größte Zahlenklasse
 
Zitat:

Zitat von STS301
@monta: dich gibt es hier auch ;)

nur leider kann ich damit maximal 19. Stellige Zahlen bearbeiten.

man trifft sich wieder ;)

Du kannst damit beliebig große Zahlen verarbeiten, die 19-Stellengrenze von qword wird damit ja gerade aufgehoben:
Zitat:

GNURZ stellt alle zum Umgang mit beliebig großen natürlichen und (positiven) rationalen Zahlen notwendigen Funktionen und Grundoperationen bereit.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:42 Uhr.
Seite 2 von 4     12 34      

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