Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Extended zu Integer? (https://www.delphipraxis.net/103949-extended-zu-integer.html)

andy21 24. Nov 2007 22:19


Extended zu Integer?
 
Hallo, ich muss mit recht großen Zahlen arbeiten, 2^88 als Beispiel. Das Problem ist, wenn ich eine Schleife benutze (und die Variablen dort den Typ Integer haben) funktioniert das nicht mehr. es kommt einfach 0 raus. Bei der POWER-Funktion wird ja mit Extended gearbeitet. Doch wie bekomme ich diese in einen normalen Integer-Wert, so dass ich damit weiterrechnen(ich muss mit modulo rechnen und das kommt mir Extended glaub ich nicht klar :gruebel: ) und es mir anzeigen lassen kann. Kann mir jemand helfen?

P.S.: Bei der Programmiersprache stutzte ich etwas. Ich habe Delphi 6 angegeben, ist das Delphi Win32 oder wie?

mkinzler 24. Nov 2007 22:21

Re: Extended zu Integer?
 
Trunc, Round, ...

andy21 24. Nov 2007 22:36

Re: Extended zu Integer?
 
Ja, ich kann es bei "kleinen" Zahlen runden. Aber bei großen Zahlen tritt ein Fehler. Bei einer Zahl wie 2^50 kommt wieder nur 0 raus. :( Bei einer Zahl wie 2^88 kommt eine Fehlermeldung: Im Projekt Projekt1.exe ist eine Exception der Klasse EInvalidOP aufgetreten. Meldung: 'Ungültige Gleitkommaoperation'. Prozeß wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.

Danach muss ich das Programm erst einmal zurücksetzen. Aber wie bekomme ich das nun mit den hohen Zahlen hin? :(

Aber danke schon einmal für die Hilfe. :thumb:

idontwantaname 24. Nov 2007 22:39

Re: Extended zu Integer?
 
Der Typ Integer erfasst nur einen Zahlenbereich von -2^32 bis 2^31-1

andy21 24. Nov 2007 22:40

Re: Extended zu Integer?
 
Und kann man was dort machen oder stehe ich dort auf verlorenem Posten? :D

Muetze1 24. Nov 2007 22:41

Re: Extended zu Integer?
 
Den nächst-größeren Integer nutzen? Delphi-Referenz durchsuchenInt64

Dax 24. Nov 2007 22:42

Re: Extended zu Integer?
 
Du kannst nur in einen Integer packen, was in einen Integer passt, für "Integer" sind wär das 2^31-1, für "Cardinal" 2^32, für "Int64" 2^63...

Zitat:

Zitat von idontwantaname
Der Typ Integer erfasst nur einen Zahlenbereich von -2^32 bis 2^31-1

Inkorrekt, Integer fasst -2^31-1 .. 2^31 ;)

Zitat:

Zitat von andy21
Und kann man was dort machen oder stehe ich dort auf verlorenem Posten? :D

Benutze Hier im Forum suchenDECMath oder Hier im Forum suchenVLI oder andere Bigint-Libraries.

andy21 24. Nov 2007 22:55

Re: Extended zu Integer?
 
Vli hört sich recht viel versprechend an. Aber im Forum wird immer nur gesagt "suche nach Vli". Wo kann man die Unit runterladen? Hat jemand einen Link?

mkinzler 24. Nov 2007 23:07

Re: Extended zu Integer?
 
Warum hier steht doch ein Link: http://www.delphipraxis.net/internal...=799420#799420
Und DEC

andy21 24. Nov 2007 23:24

Re: Extended zu Integer?
 
Also ich habe mir mal BigInt und einmal DECMAth runtergeladen. Zu DECMath meine Frage: Wie compiliertman das? Ich bin nicht so der Delphi-Kenner und kenne mich da nicht so gut aus. :oops:

andy21 24. Nov 2007 23:27

Re: Extended zu Integer?
 
ACh, das mit dem compilieren habe ich nun gefunden, aber da kommt ein Fehler: Datei nicht gefunden: Cipher.dcu

mkinzler 24. Nov 2007 23:28

Re: Extended zu Integer?
 
DECMath ist ein Teil von DEC. Du brauchst auch den Rest.

andy21 24. Nov 2007 23:34

Re: Extended zu Integer?
 
Boah, das ist alles viel zu kompliziert. :gruebel:
BigInt reicht doch erst mal für große Zahlen aus oder? Bloß wie wende ich das an? Wenn ich eine Variabel deklariere dann schreibe ich:
var a: integer;
und wie mache ich es da?
var a: BigInt; ?

mkinzler 24. Nov 2007 23:37

Re: Extended zu Integer?
 
Da ist doch ein Beispiel dabei:
http://www.delphipraxis.net/internal...ct.php?t=88532

andy21 25. Nov 2007 00:05

Re: Extended zu Integer?
 
Also ich wurstel mich da durch das Beispiel durch. Also verstehen tue ich es nicht. :D Aber so langsam bekomme ich das mit dem BigInt hin. ;)

Danke an alle, die mir geholfen haben. :thumb:

Matze 25. Nov 2007 08:05

Re: Extended zu Integer?
 
Zitat:

Zitat von Dax
Zitat:

Zitat von idontwantaname
Der Typ Integer erfasst nur einen Zahlenbereich von -2^32 bis 2^31-1

Inkorrekt, Integer fasst -2^31-1 .. 2^31 ;)

Nein, normalerweise sind es -2^31 .. 2^31 - 1

Weitere Vorschläge? :mrgreen:

alzaimar 25. Nov 2007 08:47

Re: Extended zu Integer?
 
Zitat:

Zitat von Matze
Weitere Vorschläge? :mrgreen:

Der Datentyp 'integer' umfasst alle ganzen Zahlen, die sich mit 32 Binärstellen darstellen lassen. :mrgreen:

inherited 25. Nov 2007 10:32

Re: Extended zu Integer?
 
Zitat:

Zitat von alzaimar
Der Datentyp 'integer' umfasst alle ganzen Zahlen, die sich mit 32 Binärstellen darstellen lassen. :mrgreen:

Das ist aber uneindeutig, das könnte auch Cardinal sein :warn:

Dax 25. Nov 2007 10:36

Re: Extended zu Integer?
 
Zitat:

Zitat von Matze
Zitat:

Zitat von Dax
Zitat:

Zitat von idontwantaname
Der Typ Integer erfasst nur einen Zahlenbereich von -2^32 bis 2^31-1

Inkorrekt, Integer fasst -2^31-1 .. 2^31 ;)

Nein, normalerweise sind es -2^31 .. 2^31 - 1

Weitere Vorschläge? :mrgreen:

Hups, Tatsache... Na ja, zumindest war ich nahe dran ;)

alzaimar 25. Nov 2007 10:38

Re: Extended zu Integer?
 
Zitat:

Zitat von inherited
Zitat:

Zitat von alzaimar
Der Datentyp 'integer' umfasst alle ganzen Zahlen, die sich mit 32 Binärstellen darstellen lassen. :mrgreen:

Das ist aber uneindeutig, das könnte auch Cardinal sein :warn:

Stand da was von 'eindeutig'? Zumindest ist es nicht falsch, was ich geschrieben habe. Und Matze wollte noch ein paar Vorschläge. Im Übrigen finde ich es eindeutig, da Cardinal nur die positiven Zahlen umfasst. Da steht aber 'alle ganzen Zahlen'.... :zwinker:

Matze 25. Nov 2007 10:41

Re: Extended zu Integer?
 
Eigentlich war meine Frage rhetorisch gedacht. ;)

Aber nun wieder bitte zurück zum eigentlichen Thema, so amüsant diese Mini-Diskussion auch sein mag. :)

andy21 25. Nov 2007 11:04

Re: Extended zu Integer?
 
Ach, jetzt habe ich DEC doch gefunden. Man, das ist hier ganz schön schwierig, ich finde es sollte mehrere wichtige Themata geben wo, nützliche Programme, Units etc. vorgestellt (mit Installationsbeschreibung direktem Link rum Runterladen etc)und dann auch als wichtig angehängt werden. Das wäre für solche ahnungslosen Menschen wie mich ganz gut und würde die Sache erheblich vereinfachen. :-D

Auf jeden Fall habe ich noch folgende Frage, wie installiere ich DEC (bitte einfach erklären^^)? Danke

mkinzler 25. Nov 2007 11:10

Re: Extended zu Integer?
 
http://www.michael-puff.de/Developer...agen_Reddmann/

andy21 25. Nov 2007 11:17

Re: Extended zu Integer?
 
Ja, bei dieser Installationsanleitung verstehe ich den letzten Satz nicht: "Delphi starten und je nach Version zb. für D5 im Ordner d:\dec\d5\ arbeiten".

Und was meint er mit "arbeiten" und wie kann ich die Teile denn laden? Und was muss ich genau laden? :gruebel:

mkinzler 25. Nov 2007 11:19

Re: Extended zu Integer?
 
Einfach den Pfad in den Bibliothekspfad aufnehmen.

andy21 25. Nov 2007 11:28

Re: Extended zu Integer?
 
Das habe ich noch nie gemacht. :oops: Und was meinst du mit "den Pfad"? Welchen genau? Der zu \DEC? Zu \DEC\D6? Zu \DEC\Part_I? Oder zu \DEC\Part_II?

mkinzler 25. Nov 2007 11:31

Re: Extended zu Integer?
 
Den zur passenden Delphi-Version.

andy21 25. Nov 2007 11:37

Re: Extended zu Integer?
 
So, ich habe mich mal etwas durch die Hilfe geblättert und habe nun (DELPHI)\DEC\D6 (da ich Delphi 6 benutze) unter Tools -> Umgebungsoptionen -> Bibliothek -> Bibliothekspfad dazugetragen. Ich hoffe das stimmt jetzt so.

mkinzler 25. Nov 2007 11:38

Re: Extended zu Integer?
 
Ja.

andy21 25. Nov 2007 11:39

Re: Extended zu Integer?
 
:D Sehr schön, vielen dank für die Hilfe.

andy21 25. Nov 2007 12:33

Re: Extended zu Integer?
 
Ich habe noch einmal eine Frage, Wie kann ich einem IInteger einen Wert zuweisen? Die Rechenoperatioen habe ich ja aus dem Beispiel halbwegs verstanden, aber die Wertzuweisung nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:45 Uhr.

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