nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

Byte-/Integer-Umwandlung

Von: Michael Landenberger (spameimer052006@arcor.de) [Profil]
Datum: 11.07.2008 10:21
Message-ID: <6dojg4F3lj43U1@mid.uni-berlin.de>
Newsgroup: de.comp.lang.delphi.misc
Hallo,

ich möchte 2 Byte-Werte voneinander subtrahieren und das Ergebnis in
einem Integer speichern. Ich erinnere mich allerdings dunkel, mit
schlichten Anweisungen wie dieser:

var

I     : Integer;
B1,B2 : Byte;

I := B1 - B2;

früher [tm] schon mal Probleme bekommen zu haben, da der Compiler hier
Code erzeugt, der das Ergebnis der Subtraktion als Byte zurückliefert
und daher Werte < 0 nicht korrekt darstellen kann. Ich habe mir in
diesen Situationen dann mit folgendem Konstrukt beholfen:

I := Integer (B1) - B2

Dadurch wird Code erzeugt, bei dem das Ergebnis der Subtraktion als
Integer geliefert wird, wodurch alle möglichen Ergebniswerte (-255 bis
+255) korrekt erfasst werden.

Frage: ist dieses umständliche Vorgehen immer noch notwendig oder
orientiert sich der Compiler bei neueren Delphi-Versionen nicht mehr am
Operanden-, sondern am Ergebnistyp?

Gruß

Michael


[ Auf dieses Posting antworten ]

Antworten