Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Integer-Datentypen - DH empfiehlt immer Integer oder Cardina (https://www.delphipraxis.net/113218-integer-datentypen-dh-empfiehlt-immer-integer-oder-cardina.html)

christian_r 4. Mai 2008 19:55


Integer-Datentypen - DH empfiehlt immer Integer oder Cardina
 
Eine Antwort auf diese Frage wollte ich schon immer mal wissen.

Zitat:

Zitat von Delphi Help
The generic integer types are Integer and Cardinal; use these whenever possible, since they result in the best performance for the underlying CPU and operating system.

Übersetzt ...
Zitat:

Zitat von Delphi Hilfe
Die Typen Interger und Cardinal sind genereische Typen. Diese sollten wann immer möglich verwendet werden, da sie die beste Performance für die zugrundeliegende CPU und das Betriebssystem gewährleisten.

Naja, wozu sind dann konkret die fundamentalen Datentypen implementiert - doch sicher nicht nur aus Gründen der Abwärtskompatibilität?

mkinzler 4. Mai 2008 20:00

Re: Integer-Datentypen - DH empfiehlt immer Integer oder Car
 
In einer 32(64 im 32er Modus)Bit-CPU belegen auch kleinere Integer-Typen 32Bit (wenn nicht Teil einer Packed-Struktur) deshalb kann man auch gleich Cardinal nehmen

christian_r 4. Mai 2008 20:07

Re: Integer-Datentypen - DH empfiehlt immer Integer oder Car
 
Was bedeutet, das die DelphiEngine den Rest drumherum, (z.B. Byte: 255 + 1 = 0, Size( Byte ) = 1) durch entsprechende Codes nur emuliert, und das macht den fundamentalen Typ langsam?

mkinzler 4. Mai 2008 20:11

Re: Integer-Datentypen - DH empfiehlt immer Integer oder Car
 
Nein. Delphi behandelt Byte als Byte.

christian_r 4. Mai 2008 20:31

Re: Integer-Datentypen - DH empfiehlt immer Integer oder Car
 
Dann verstehe ich Deinen Beitrag #2 nicht. Kannst Du mir das bitte etwas näher erläutern? Google spuckt mir leider massenweise unbrauchbare Ergebnisse zu "delphi fundamentale typen" aus.

Ich möchte es gern verstehen, um es besser anwenden zu können.

mkinzler 4. Mai 2008 20:36

Re: Integer-Datentypen - DH empfiehlt immer Integer oder Car
 
Das macht nicht der Compiler sondern der Prozessor.

Christian Seehase 4. Mai 2008 20:38

Re: Integer-Datentypen - DH empfiehlt immer Integer oder Car
 
Moin Christian,

integer und cardinal sind die generischen Typen, dass heisst:
Bei einem 32-Bit-Compiler sind sie 32-Bit breit, bei einem 64-Bit-Compiler sind sie 64-Bit breit, ohne dass man den Code anpassen müsste.
Wenn Du, z.b., LongInt verwendest, ist er auch bei einem 32-Bit-Compiler 32-Bit breit.

christian_r 4. Mai 2008 20:49

Re: Integer-Datentypen - DH empfiehlt immer Integer oder Car
 
Moin Christian,

Zitat:

Zitat von Christian Seehase
dass heisst:
Bei einem 32-Bit-Compiler sind sie 32-Bit breit, bei einem 64-Bit-Compiler sind sie 64-Bit breit, ohne dass man den Code anpassen müsste.
Wenn Du, z.b., LongInt verwendest, ist er auch bei einem 32-Bit-Compiler 32-Bit breit.

Wolltest Du evtl. sagen, der fundamentale ist bei einem 64-Bit-Compiler trotz allem 32 Bit breit?

jbg 4. Mai 2008 21:03

Re: Integer-Datentypen - DH empfiehlt immer Integer oder Car
 
Zitat:

Zitat von Christian Seehase
Bei einem 32-Bit-Compiler sind sie 32-Bit breit, bei einem 64-Bit-Compiler sind sie 64-Bit breit

Das kommt auf das verwendete Model an. Bei C++ wird z.B. das 64:32 Model benutzt. Dort ist "int" und "unsigned int" in der 64Bit Version auch nur 32 Bit breit. Welches Model CodeGear verfolgt, werden wir wohl erst nächstes Jahr (aktualisierte RoadMap) erfahren.

christian_r 4. Mai 2008 21:28

Re: Integer-Datentypen - DH empfiehlt immer Integer oder Car
 
Ich bin immer noch nicht wirklich schlauer als vorher. :? Verdammt, ich will's wissen! :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:10 Uhr.
Seite 1 von 3  1 23      

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