float TFA;
DWORD TDD;
CString TFS;
TFA=-96;
TDD=0xC2C00000;
TFS.Format("%X %f %X %f",TFA,TFA,TDD,TDD);
AfxMessageBox(TFS);TFS输出结果为:0 0.000000 C0580000 -35184397615104.000000
怎么会这样呢?
DWORD TDD;
CString TFS;
TFA=-96;
TDD=0xC2C00000;
TFS.Format("%X %f %X %f",TFA,TFA,TDD,TDD);
AfxMessageBox(TFS);TFS输出结果为:0 0.000000 C0580000 -35184397615104.000000
怎么会这样呢?
float TFA;
DWORD TDD;
CString TFS;
TFA=-96.0f;
TDD=0xC2C00000;
TFS.Format("%5.1f %5.2ff %04X %ld",TFA,TFA,TDD,TDD);
AfxMessageBox(TFS);
这么改试试
二进制解析 DWORD 和 FLOAT 的所占的位数不同,所有取得的数据就会有错误