Например так:
unsigned long a; unsigned char a1,a2,a3,a4;
a1= a & 0x000000FF; a2=(a & 0x0000FF00)>>8; a3=(a & 0x00FF0000)>>16; a4=(a & 0xFF000000)>>24;
обратно собрать
a=(unsigned long)a1; a|=(unsigned long)a2<<8; a|=(unsigned long)a3<<16; a|=(unsigned long)a4<<24;
|