Re: Countbits fuer intel und non-intel bits.
15. Jan 2005, 21:49
Du hast doch schon ganz richtig erkannt, daß es CPU-Sache ist, du brauchst dich also nur darum zu kümmern, in welcher Form die Daten ankommen. Wenn du einen LongWord in Delphi hast und schnappst dir dessen Memory-Dump ist die Darstellung byteweise (nicht bit-weise) von links nach rechts (0d1 ist also 0x01000000). Trotzdem werden Rechenoperationen so durchgeführt, als ob die Byte in der "richtigen" Reihenfolge vorliegen würden. Ein SHL um 8 Bit würde also 0x00010000 ergeben. So ist das in den anderen mir bekannten Programmiersprachen auch. Auf einem Prozessor mit "richtiger" Bytereihenfolge sollte das genauso transparent sein.
Es kommt also nur darauf an, wie die Daten vorliegen und wie du sie einliest. Liegen sie in einem Stream im BigEndian-Format vor und du liest sie einfach blind in einen LongWord ein, dann kriegst du auf LittleEndian-Systemen Probleme und musst erst die Reihenfolge der Bytes umkehren (am eifnachsten wohl mit einem einfachen BSWAP).
|