AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Größte Integer-Variable?

Ein Thema von Nicolai1234 · begonnen am 21. Mai 2004 · letzter Beitrag vom 25. Mai 2004
Antwort Antwort
Seite 3 von 5     123 45      
Nicolai1234

Registriert seit: 21. Feb 2004
1.008 Beiträge
 
Turbo Delphi für Win32
 
#21

Re: Größte Integer-Variable?

  Alt 22. Mai 2004, 12:48
Ich werde mich auch mal selber daransetzen und functionen programmieren, die mit strings rechnen können!
Wenn sie das Schritt für Schritt machen könnte man Zahlen bis 2GB länge nehmen, ich möchte nicht daran denken, wie viele Zeichen diese haben!
  Mit Zitat antworten Zitat
Benutzerbild von gmarts
gmarts

Registriert seit: 4. Apr 2004
Ort: Templin
290 Beiträge
 
Delphi 6 Enterprise
 
#22

Re: Größte Integer-Variable?

  Alt 22. Mai 2004, 13:01
Na bei 2GB Strings kannst du Zahlen mit 2 Mrd. Stellen nehmen. Ob das Sinn macht, ist eine andere Frage.
procedure TForm1.Button1Click(Sender: TObject);
begin
button1.Click;
end;
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#23

Re: Größte Integer-Variable?

  Alt 22. Mai 2004, 14:55
@Nicolai1605, welche Genauigkeit benötigst du denn ??

Willst du nur eine angenäherte Rechnung aufmachen dann wird der Datentyp Extended völlig ausreichen. Du musst dann nur deine Formel anders aufbauen und mit Logarithmen rechnen.

Oder willst du absolut exakt deine Formel ausrechnen, dann benötigst du auf alle Fälle eine Mathematische Bibliothek die mit solchen großen Zahlen exakt rechnen kann. In diesem Moment falle mir für Delphi 3 verschiedene Bibliotheken ein:

1.) NX von Marcel Martin zu finden auf http://www.ellipsa.net/index.html. Die Lib ist Freeware und Marcel ist ein absolut fundierter Mathematiker. Allerdings Marcel streikt zur Zeit gegen das neue EU Patentrecht.

2.) StreamSec von Hendrik Hellström ist ein kommerzielles Kryptoprodukt zu finden auf http://www.streamsec.com/. StreamSec beschränkt sich natürlich nur auf die Kryptographie mit Zahlen bis zu 2^4096 und ist für supergroße Zahlen schlecht geeignet. Zudem kostet es etwas und ist meiner Meinung nach längst nicht so fundiert wie NX.

3.) IIntegers ist eine Entwicklung von mir, die leider nicht frei in Source verfügbar ist. Hier im Forum findest du aber eine binäre Distribution auf die du zu Hobbyzwecken durchaus aufsetzen kannst. Von enormen Vorteil dürfte dabei der Fakt sein das in dieser Lib die Unit NCombi.pas enthalten ist. Nun, in dieser Unit findest du die schnellsten bekannten Algortihmen um enorm große Fakultäten, Kombinatorische Berechnungen usw. durchzuführen. Mit diesen Basisfunktion dürfte es ein leichtes sein deine Formel bis aufs Bit genau auszurechnen. Performancetechnisch enthält meine Lib eben auch hochspezialisierte Algortihmen um mit sehr sehr großen Zahlen mit bis zu 2^2^24 Binären Stellen zu rechnen. Beide Libs, StreamSec und NX, enthalten dagegen eben keine solche Verfahren und sind in solch großen Zahlenbereichen erheblich ineffizienter.
Bei der Eigenentwicklung solcher Bibliotheken musst du bedenken das sie einen enormen Zeitaufwand und Wissenstand benötigen. Ich selber entwickelte ca. 3 Jahre an meiner lib und habe in diesem Zeitraum über 4Gb an Dokumenten angesammelt.

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#24

Re: Größte Integer-Variable?

  Alt 22. Mai 2004, 14:57
Hallo, irgendetwas stimmt an deiner Formel nicht, du meinst doch sicherlich:
p(an)=1-(365!-(365-n)!)/365^n oder ?
gruß rené
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#25

Re: Größte Integer-Variable?

  Alt 22. Mai 2004, 15:12
Zitat von ibp:
Hallo, irgendetwas stimmt an deiner Formel nicht, du meinst doch sicherlich:
p(an)=1-(365!-(365-n)!)/365^n oder ?
gruß rené
wenn das so ist, dann schau dir doch mal den vorgang der formel genau an und mach eine Faktorenzerlegeung, dann kannst du dir sicherlich die stellen sparen in hinblick auf eine hinreichende genauigkeit !

ich beziehe mich mal nur auf den hinteren Teil:

für n=3 folgt dann

Delphi-Quellcode:
365!-(365-3)!
------------- =
   365^3

365*364*363 365 364 363
------------- = ----*-----*-----= 1*...*...
365*365*365 365 365 365

und das könntest du dann schritt für schritt berechnen!

gruß!
  Mit Zitat antworten Zitat
Nicolai1234

Registriert seit: 21. Feb 2004
1.008 Beiträge
 
Turbo Delphi für Win32
 
#26

Re: Größte Integer-Variable?

  Alt 22. Mai 2004, 16:46
Was ist an der Formle anders als an meiner?
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#27

Re: Größte Integer-Variable?

  Alt 22. Mai 2004, 17:28
die kann man missverstehen, jedenfalls ich.
...
du kannst die berechnung aber auch so durchführen:

(M=pi entspricht produktzeichen)



M(k=0..n)=(1-k/365)^k


n=2 => M=((1-0/365)^0)*((1-1/365)^1)*((1-2/365)^2)


gruß rene
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#28

Re: Größte Integer-Variable?

  Alt 25. Mai 2004, 09:22
hallo Nicolai1605

wie hast du es denn jetzt realisiert?

gruß rené
  Mit Zitat antworten Zitat
Benutzerbild von gmarts
gmarts

Registriert seit: 4. Apr 2004
Ort: Templin
290 Beiträge
 
Delphi 6 Enterprise
 
#29

Re: Größte Integer-Variable?

  Alt 25. Mai 2004, 18:53
So, wie versprochen 4 praktische Funktionen und 2 halbpraktische Funktionen zum Thema Rechnen mit großen Zahlen.
Damit lassen sich Zahlen bis zu (10^2147483648)-1 darstellen und berechnen (Theoretisch, wenn man gaaanz viel Zeit mitbringt ).

Quellcode ist noch nicht dabei, da ich mich vor den 3 Strafen des Programmierens drücke: Optimieren, Strukturieren, Kommentieren.

Bis denne

Erweiterung auf Reelle und Ganze Zahlen und Abfangen von Fehleingaben kommt in der nächsten Version.
Angehängte Dateien
Dateityp: zip kubmstring.zip (3,3 KB, 18x aufgerufen)
procedure TForm1.Button1Click(Sender: TObject);
begin
button1.Click;
end;
  Mit Zitat antworten Zitat
Nicolai1234

Registriert seit: 21. Feb 2004
1.008 Beiträge
 
Turbo Delphi für Win32
 
#30

Re: Größte Integer-Variable?

  Alt 25. Mai 2004, 18:57
Trotzdem wäre der QT nicht schlecht... (auch unkommentiert)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 5     123 45      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:10 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