How to store modify and resend 4 bytes of data from an assembly coded dspic to that in a c compiler based pic18f
Float is definitely not the way to do it. I'm not sure what maths you need to do on the received value, your example seems to imply just swapping two bytes around. If that is the case then just receive the value into a 4 byte array (unsigned char val_array[4]) and swap the bytes around. If you need to do complex maths on the value then storing it as a long would be better.