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
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
- Hubert Seidel (12.07.2008 01:57)
