I'm working with some C code on an embedded processor (8051)in which I have an array:

Code:
unsigned char x[3];        // unsigned char is a 8-bit value on 8051 
x[0] = 0x02;
x[1] = 0xFF;
x[2] = 0xFF;
I then have an unsigned long variable in which I would like to equal 0x02FFFF (in the example above). On the 8051, the unsigned long variable is 32-bits.

Code:
unsigned long i;

i = ???
So how would this be accomplished?

Thanks in Advance
Philip