我需要将字节数组转换为浮点数组。我通过网络连接获取字节,然后需要将它们解析为浮点数。数组的大小不是预先定义的。 这是迄今为止使用工会的代码。你有什么建议如何让它跑得更快?将4字节转换为浮点数的最快方法C++
int offset = DATA_OFFSET - 1;
UStuff bb;
//Convert every 4 bytes to float using a union
for (int i = 0; i < NUM_OF_POINTS;i++){
//Going backwards - due to endianness
for (int j = offset + BYTE_FLOAT*i + BYTE_FLOAT ; j > offset + BYTE_FLOAT*i; --j)
{
bb.c[(offset + BYTE_FLOAT*i + BYTE_FLOAT)- j] = sample[j];
}
res.append(bb.f);
}
return res;
这是我使用
union UStuff
{
float f;
unsigned char c[4];
};
_“我通过网络连接获取字节,然后需要将它们解析为浮点数。”_如果来自不同计算机,您应该更好地定义“浮点数”。 –
_“您对如何使其运行速度更快有什么建议?”_ SO不是优化服务! –
定义“转换”。有许多可能的映射。你已经使用了“解析”这个词,但是你的程序不会进行任何解析。 –