我正在读取可能由 Big Endian 字节顺序中的 64 位浮点数(“双精度数”)组成的二进制数据。我使用 NSData 的 getBytes:range: 方法将它们单独读入 Float64 类型的缓冲区。现在我想将字节顺序更改为 Little Endian。对于整数,使用 Core-Foundation 函数 CFSwapIntXX() 可以轻松实现,其中 XX 是位数。但是浮点数没有对应的方法。这样做的首选方法是什么?
我试图通过先前将其复制到 int64_t 变量然后再次返回到 double 值来“强制”将 64 位 double 作为函数 CFSwapInt64() 的参数。它工作正常,但这对我来说似乎相当残酷。标准框架没有自带方法吗?