双精度浮点数是用8字节表示的,如何将8字节的QByteArray转换为double数值。
单精度的float数,我是用的以下方法转换的:
首先转换为QString,如3.1415的单精度字节,转换为16进制的字符串为str = 40490E56。
然后 int hex = str.toUInt(0, 16);
float value = *(float*) hex;
得到了3.1415
这个方法同样用在double就不行了,而且我也没大明白,为什么通过toUInt()方法转以下就可以转成float了。
求助各位