Bytes zu einem DWORD zusammenführen

Habe folgede Anweisung im Netz gefunden:
Code:
#dword:=WORD_TO_INT(
SHL(IN:=BYTE_TO_WORD(#Byte4), N:=24) OR 
SHL(IN:=BYTE_TO_WORD(#Byte3), N:=16) OR 
SHL(IN:=BYTE_TO_WORD(#Byte2), N:=8) OR
			               #Byte1 
 
);

Hat dies schon mal Jemand probiert?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die TypKonvertierung WORD_TO_INT scheint mir kontraprodutiv zu sein - weg damit. BYTE nach DWORD (statt WORD) konventieren und die Schieberei und Oderei sollte passen.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Die TypKonvertierung WORD_TO_INT scheint mir kontraprodutiv zu sein - weg damit. BYTE nach DWORD (statt WORD) konventieren und die Schieberei und Oderei sollte passen.

habe die Anweisung ein wenig angepasst, der Compiler liefert schon-mal keine Fehler:


Code:
MachineSpeedEncoder := (
SHL( BYTE_TO_DWORD(Byte4), 24) OR 
SHL( BYTE_TO_DWORD(Byte3), 16) OR 
SHL( BYTE_TO_DWORD(Byte2), 8) OR
                           Byte1 );
 
Moin Neurorancer,

habe die Anweisung ein wenig angepasst, der Compiler liefert schon-mal keine Fehler:


Code:
MachineSpeedEncoder := (
SHL( BYTE_TO_DWORD(Byte4), 24) OR 
SHL( BYTE_TO_DWORD(Byte3), 16) OR 
SHL( BYTE_TO_DWORD(Byte2), 8) OR
                           Byte1 );

mein ehemaliger, russischer Kollege würde sagen: Wenn man 'Byte1' auch in DWord wandelt, wäre das 'höflich'. :ROFLMAO:

VG

MFreiberger
 
Zuviel Werbung?
-> Hier kostenlos registrieren
mein ehemaliger, russischer Kollege würde sagen: Wenn man 'Byte1' auch in DWord wandelt, wäre das 'höflich'. :ROFLMAO:
Recht hat er, Mario!
Wenn schon, denn schon. Dem Compiler darf man schon ein gewisses Mass an Konsequenz abverlangen!
Entweder konsequent mit TypKonvertierung, damit der Compiler etwas zu kontrollieren hat, oder konsequent ohne Typkonvertierung und ohne Kontrolle durch den Compiler, damit der Programmierer sich nicht die Finger wund tippen muss - nachdenken muss er trotzdem in beiden Fällen.
Alles zwischen diesen Extremen (mit mehr oder weniger impliziten Konvertierungen) ist letztlich inkonsequent und witzlos.
 
Zurück
Oben