AGB  ·  Datenschutz  ·  Impressum  







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

Integer vs. byte

Ein Thema von Sebastian Nintemann · begonnen am 16. Okt 2002 · letzter Beitrag vom 18. Okt 2002
Antwort Antwort
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.123 Beiträge
 
Delphi 11 Alexandria
 
#1
  Alt 17. Okt 2002, 01:28
Moin Sebastian,

solltest Du Records benötigen, dann auf keinen Fall als packed record Deklarieren, so es vermeidbar ist, denn ansonsten kann es Dir passieren, je nach Aufbau des Records, dass die Variablen nicht auf 32 Bit Grenzen ausgerichtet sind, und somit beim Zugriff mit einem sogenannten "Alignment Error" "bestraft" werden (das läuft CPU intern ab und hat nichts mit Fehlermeldungen zu tun).
Dadurch würde die Geschwindigkeit, unter Umständen spürbar, beeinträchtigt werden.

Bei den Vorgaben die Du hast, erscheint mir Cardinal am sinnvollsten zu sein.
Dann wärest Du sogar bei einem Wechsel des Compilers auf eine 64 Bit Version auf der sicheren Seite, denn dann würde Cardinal als 64 Bit ohne Vorzeichen compiliert werden, was auf einem 64 Bit Prozessor von das Alignmentproblem automatisch umgeht. (Ich weiss, Zukunftsmusik, aber schon hörbar )

Generic Integer heisst ja nichts anderes, als dass es die Typen sind, deren Grösse (in Bit) immer der Datenbreite der CPU entsprechen, für die der Compiler ausgelegt ist.

(integer = mit Vorzeichen, cardinal = ohne Vorzeichen)
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort


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:51 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