我需要交换一些值的字节顺序,只是想知道在Objective-C中是否有任何可用的东西,目前我正在用下面的CStyle函数交换字节(显然我可以重用),我只是想检查什么都没有具体我失踪了?在Objective-C中交换字节顺序?
float floatFlip(float inFloat) {
union {
int intValue;
float newFloat;
} inData, outData;
inData.newFloat = inFloat;
outData.intValue = CFSwapInt32BigToHost(inData.intValue);
return(outData.newFloat);
}
EDIT_001
多亏了这里的指针我已经整数排序,什么换一个浮动的最简单的方法?
int myInteger = CFSwapInt32BigToHost(myInteger);
(以上代码更新)
float myFloat = floatFlip(myFloat);
加里
floatFlip()看起来不错。我会(亲自)将函数名和参数写入固定宽度的Float32 Float32Flip(Float32 inFloat){union {SInt32 intValue; Float32 newFloat; } inData,outData; ...},但我很奇怪。如果你使用的是C++,那么我会通过引用传递(为了编译器对你的字节数进行检查),或者(C/objc)传递一个指针,因为你主要关心参数的字节交换,而不是一个潜在转换/截断/重新解释值的字节交换。 – justin 2009-12-12 05:29:11