I have 4 (8 bit) bytes being sent to me in a serial string.

Byte_1 is to be multiplied by 16777216
Byte_2 is to be multiplied by 65536
Byte_3 is to be multiplied by 256
Byte_4 is to be multiplied by 1
Not exactly a Brain Teaser - more a trick question.

Byte_1 is the MSB of a 32-bit variable, Byte_4 is the LSB of your 32-bit variable... no maths needed... so what you're really asking for is a routine to output a 32-bit (four byte) variable in human readable decimal...