AGB  ·  Datenschutz  ·  Impressum  







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

Variablentypen

Ein Thema von FrÄnK · begonnen am 2. Mär 2006 · letzter Beitrag vom 3. Mär 2006
Antwort Antwort
Seite 1 von 2  1 2      
FrÄnK

Registriert seit: 2. Mär 2006
5 Beiträge
 
#1

Variablentypen

  Alt 2. Mär 2006, 16:30
hihi,

ich habe mal eine für mich sehr schwere frage, aber vieleicht weiß jemand rat...

bei einem mathematischen problem, brauche ich einen variblentypen der extrem groß ist, da die errechnete Zahl auch EXTREM groß wird. keiner der Typen die Delpi selber stellt sind dafür allerdings groß genug.

wie kann ich selber einen typen kreiern, der groß genug ist. es soll sich dabei um eine art integer handeln, sprich eine (positive) ganzahlige variable.

ein freund von mir war der meinung ich müsse direct auf dem arbeitspeicher platz reservieren und dass dann dort reinschreiben, aber ich habe absolut keinen plan wie das gehen soll, zumal ich dami ja noch rechnen muss.

bitte helft mir ich wäre euch sehr dankbar
  Mit Zitat antworten Zitat
Benutzerbild von konda
konda

Registriert seit: 20. Dez 2005
253 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Variablentypen

  Alt 2. Mär 2006, 16:37
Erstmal WILLKOMMEN in DP

Wie groß wird die Zahl den ungefähr? Vielleicht könntest du die Zahl zum String machen und dann den String aufteilen und einzeln abspeichern? Und ist ein Longinteger nicht groß genug?
  Mit Zitat antworten Zitat
gmc616

Registriert seit: 25. Jun 2004
Ort: Jena
627 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: Variablentypen

  Alt 2. Mär 2006, 16:40
Oder ein int64 (-2^63..2^63-1)?
  Mit Zitat antworten Zitat
FrÄnK

Registriert seit: 2. Mär 2006
5 Beiträge
 
#4

Re: Variablentypen

  Alt 2. Mär 2006, 16:43
nein...

ich möchte primzahlen berechen und zwar mersenne-primzahl...
d.h.
2^k-1 ist eine primzahl, dabei ist k auch eine primzahl

wenn ich für k sieben einsetze erhalte ich 127, setze ich das wioederum für k ein so ist die zahl schon zu groß um in jegliche typen zu passen.

in einen string kann ich es nicht packen da ich noch weiter rechnen will
  Mit Zitat antworten Zitat
Benutzerbild von Alexander Roth
Alexander Roth

Registriert seit: 17. Mai 2004
Ort: Kenn
574 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Variablentypen

  Alt 2. Mär 2006, 16:48
Also, man kann natürlich Int64 verwenden. Aber Int64 ist nur
Zitat:
(-2^63..2^63-1)
Das heißt es sind nur im Dezimalsystem nur so 19 Stellen.

Das ist für große Zahlen doch ziemlich wenig.

Das problem ist auch nicht die Speicherverwaltung bei Delphi sondern die Rechenbarkeit. Du müsstest alle Operationen selbst programmieren.

Glücklicherweise gab es schon jemanden der daran gedacht hat und eine super Biblothek geschrieben hat:
DEC von Hagen Reddmann hier auch bekannt als negaH.

Suche mal: Hier im Forum suchenDEC

Da kannst du drauf zugreifen und die perfekt optimierten Routinen für alles Mögliche verwenden.
Die Zahlen können so weit ich weis bis 2^4096 also 1233 Stellen groß werden. Vielleicht klappt es noch größer.

Darfst du nur bei Freeware-Programmen nicht bei komerziellen verwenden.
Alexander Roth
Ich bin umgestiegen auf: Lazarus und Ubuntu! Alles OpenSource!

Besuch doch mal: www.roth.us.ms
  Mit Zitat antworten Zitat
FrÄnK

Registriert seit: 2. Mär 2006
5 Beiträge
 
#6

Re: Variablentypen

  Alt 2. Mär 2006, 17:01
mmh....is ja wirklich nett, danke dafür...

aber ich glaube nicht dass das das ist was ich suche. ich möchte ja nur wissen wie ich einen eigenen variablentyp erstellen kann, damit ich es A) verstehe, was ich mache und B) individueller an das problem ran gehen kann

trotzdem danke
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

Re: Variablentypen

  Alt 2. Mär 2006, 17:32
Wenn du dir einen eigenen Variablentypen dafür deklarierst, dann musst du auch *ALLE* Berechnungen 'von Hand' machen (bzw. dafür neu erfinden), da das dann die CPU nicht mehr für die übernimmt (wie bei den normalen Delphi-Datentypen).

Beispiel: wenn du mit BCD-Zahlen arbeitest passen 4 Milliarden Dezimalstellen in 2 GB Speicher, reicht dir das denn?
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
FrÄnK

Registriert seit: 2. Mär 2006
5 Beiträge
 
#8

Re: Variablentypen

  Alt 2. Mär 2006, 17:35
was sind BCD-Zahlen?!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Variablentypen

  Alt 2. Mär 2006, 17:38
Binary Coded Decimal. Hätte man aber auch leicht über die Wikipedia oder Google selber rausfinden können.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#10

Re: Variablentypen

  Alt 2. Mär 2006, 17:38
Binary Coded Decimal - schau mal bei Wikipedia

Der rote Kasten war zwar da, aber Luckies Post nicht ...

ausserdem hat mein post einen sichlichen Mehrwert
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 14:28 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