#include #include float float_swap(char cbuf[]) { union { char cval[4]; float fval; } f_union; f_union.cval[3] = cbuf[0]; f_union.cval[2] = cbuf[1]; f_union.cval[1] = cbuf[2]; f_union.cval[0] = cbuf[3]; return(f_union.fval); } int main() { float f; char cbuf[4]; unsigned char *p; cbuf[0] = 0xff; cbuf[1] = 0xae; cbuf[2] = 0x47; cbuf[3] = 0xc5; printf("%x %x %x %x --> ", (unsigned char)cbuf[0], (unsigned char)cbuf[1], (unsigned char)cbuf[2], (unsigned char)cbuf[3]); f = (float) float_swap(cbuf); p = (unsigned char *)&f; printf("%x %x %x %x\n", *p, *(p + 1), *(p + 2), *(p + 3)); return 0; }