Es lo mismo para el el micro, los mcroscontroladores trabajan en HEX, si tu pones a=15 es los mismo a=0x0f, para el micro es el mismo valor. No te confundas en la forma de reprecentarlo para ver en LCD o Serial(hiperterminal) por que eso sonn son caractres ASCII que tienes que transformarlo usando las funciones de stdio.h en C.
Del ejemplo anterior hay otra forma de hacerlo con union{}.
el valor enviado (0x00f0ab50) tx.
sea el array recivido[]={0x00,0xf0,0xab,0x50}.
union valor{
unsigned long a;
char b[4];
}
unsigned long valor_final;
....
..
union valor entero;
entero.b[0]=recivido[0];
entero.b[1]=recivido[1];
......
entero.b[3]=recivido[3];
valor_final=entero.a;