Einzelnen Beitrag anzeigen

schwa226

Registriert seit: 4. Apr 2008
400 Beiträge
 
#1

Byte Array to UInt64

  Alt 11. Mär 2011, 17:47
Ich komm einfach nicht drauf.

Ich habe ein Array[0..7] of Byte und will es in ein UInt64 wandeln.
Jedoch kommt immer Blödsinn raus.

Auch dieser Versuch scheitert:
Delphi-Quellcode:
Type
  TUInt64Rec = packed record
    case Integer of
      1 : (_Byte : Array[0..7] of Byte);
      2 : (_UInt64 : UInt64);
  end;
Auch mit einem manuellen SHL schaffe es nicht.
Da sollte ich ja byte[0] um 56 bit, byte[1] um 48 Bit usw shiften.
Das lässt mich Delphi aber nicht. Er erlaubt mir maximal 40 Bit mit SHL.
??

Beipspiel:
Im Byte Array von 0..7:
00 00 00 02 00 0E 8C 19

Ergebins von Delphi: 1840861740884033536

Sollte aber sein: 8590887961
Delphi 2010, Update 4 & 5
  Mit Zitat antworten Zitat