Tengo una variable de 32 bits de longitud, CurrentPosition, que quiero dividir en 4 caracteres de 8 bits. ¿Cómo haría eso de la manera más eficiente en C? Estoy trabajando con una MCU de 8 bits, arquitectura 8051.¿Cómo se divide un valor largo (32 bits) en cuatro variables de caracteres (8 bits) usando C?
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?
¿Debo hacer referencia a la dirección inicial de CurrentPosition con un puntero y luego añadir 8 dos que aborda cuatro veces?
Es pequeño Endian.
TAMBIÉN quiero que CurrentPosition se mantenga sin cambios.
¿Qué endian? ___ – kennytm
Estoy usando SDCC con el formato Little Endian – PICyourBrain