Looking at the IEEE to CCS conversions, to go from, why don't you just use the char * toCCS(float value) { } function and send 4 chars starting at the returned pointer?
The difference is that the CCS sign bit is bit 31 and for IEEE it is bit 23. Conversion is copying the CCS sign bit, shifting bits 23 to 30 left 1 and copying the sign bit to bit 23.
You're grabbing 1 bit off the end, moving the next lower 8 bits up and putting the end bit in the hole from the move.
So why not just use the function you have that does that? It returns a char pointer to the result which is real handy because you write chars to Serial.