Wie kann ich Spalten ein long-Wert (32 bit) in vier char-Variablen (8bits) mit C?

Ich habe eine 32 bit lange variable CurrentPosition, dass ich möchte, aufgeteilt in 4 -, 8bit-Zeichen. Wie würde ich das tun die meisten effizient in C? Ich arbeite mit einer 8bit MCU, 8051 architectecture.

unsigned long CurrentPosition = 7654321;
unsigned char CP1 = 0;
unsigned char CP2 = 0;
unsigned char CP3 = 0;
unsigned char CP4 = 0;
//What do I do next? 

Sollte ich einfach Verweis auf die Startadresse der CurrentPosition mit einem Zeiger und fügen Sie dann 8 zwei, die Adresse vier mal?

Es ist little Endian.

Will AUCH ich CurrentPosition unverändert bleiben.

  • Die endian? ___
  • Ich bin mit SDCC mit verwendet die Little-Endian-format
InformationsquelleAutor PICyourBrain | 2010-04-30
Schreibe einen Kommentar