最初我以爲下面提供的代碼正在工作,「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位按預期工作。
加里