最初我以为下面提供的代码正在工作,“inBuffer”似乎正确地获得了4字节的数据,而且变量MDD_times也是正确的。将NSData转换为浮点数?
NSData *inBuffer;
float MDD_times;
// FLOAT_002
inBuffer = [inFile readDataOfLength:sizeof(float)];
[inBuffer getBytes: &MDD_times length:sizeof(float)];
NSLog(@"Time: %f", MDD_times);
OK让我对这个小(以上代码更新)扩大,这就是我得到:
inBuffer = <3d2aaaab>
MDD_times = -1.209095e-12 (this will be 0.0416667 bigEndian)
NSLog(@"Time: %f", MDD_times) = Time: -0.000000
它大概的NSLog不能容纳浮点值,我翻了个字节在浮动到bigEndian和预期值“0.0416667”显示就好了。至少我知道NSData> float位按预期工作。
加里