Einzelnen Beitrag anzeigen

Dax
(Gast)

n/a Beiträge
 
#5

Re: [Ansi C] Long in Bytes aufteilen

  Alt 9. Okt 2007, 18:32
Zitat von Newbie44:
Vielen dank für deine Schnell Hilfe. Nur eines musst du mir noch erklären, warum machst du noch mit & 255 eine UND verknüpfung? Das verstehe ich noch nicht so recht, daher wäre ich dir dankbar wenn du darauf nochmal näher eingehen könntest
Damit auch wirklich nur ein Byte im int steht. FFEEDDCC >> 8 ergibt FFEEDD, FFEEDDCC >> 8 && FF ergibt DD, und DD ist dein gewünschtes Ergebnis.

Für unions wäre das (schätze ich, hab lange kein C angefasst) so:
Code:
typedef struct {
  union {
    unsigned int inval;
    byte b1, b2, b3, b4;
  }
} int_to_bytes

int_to_bytes convert;
convert.intavl = 0xFFEEDDCC;
// convert: intval = FFEEDDCC, b1 = FF, b2 = EE, b3 = DD, b4 = CC
  Mit Zitat antworten Zitat