AGB  ·  Datenschutz  ·  Impressum  







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

unsigned int in delphi ?

Ein Thema von Shadow · begonnen am 30. Mär 2006 · letzter Beitrag vom 31. Mär 2006
Antwort Antwort
Frickeldrecktuxer_TM
(Gast)

n/a Beiträge
 
#1

Re: unsigned int in delphi ?

  Alt 30. Mär 2006, 20:29
ich zitiere mal aus dem C9X-standard:
Zitat von ISO/IEC 9899:1999, WG14:
There are five standard signed integer types, designated as signed char, short
int, int, long int, and long long int. (These and other types may be designated in several additional ways, as described in 6.7.2.) There may also be implementation-defined extended signed integer types. The standard and extended signed integer types are collectively called signed integer types.26)

An object declared as type signed char occupies the same amount of storage as a ‘‘plain’’ char object. A ‘‘plain’’ int object has the natural size suggested by the architecture of the execution environment (large enough to contain any value in the range INT_MIN to INT_MAX as defined in the header <limits.h>).
INT_MIN ist -32767 und INT_MAX ist +32767.
es ist also lediglich sichergestellt daß "int" in C mindestens diesen zahlenbereich speichern kann. gleiches gilt für "unsigned int" wobei gilt: UINT_MAX = 65535. auch hier wird nur festgeschrieben daß der datentyp diese zahl speichern können muss.
eine vollkommen legale übersetzung nach Delphi wären also genauso gut die Delphi-typen "Integer", "Cardinal" oder "Int64". es macht keinerlei unterschied denn alle diese typen können die zahl 65535 eindeutig speichern. das hier vorgeschlagene "Word" ist lediglich der kleinste datentyp der die anforderungen "gerade so" noch erfüllt. der standard schlägt vor daß der datentyp int an die architektur angepasst werden soll.
hier musst du also das handbuch deines compilers dazu befragen wie groß bei ihm "unsigned int" ist. normalerweise wäre es auch einer IA32 32bit. dann wäre eine korrekte übersetzung "LongWord".
und wenn du dich später dazu entschließt einen anderen C-compiler für deinen objektcode (du willst ja anscheinend nur den header übersetzen) zu nehmen wirst du erneut nachschauen müssen wie groß "unsigned int" auf dem neuen compiler 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 03:59 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 by Thomas Breitkreuz