Byte swapping floats/doubles is a bit more complicated than I thought...