QByteArray intToByte(int number)
{
QByteArray abyte0;
abyte0.resize(4);
abyte0[0] = (uchar)(0x000000ff & number);
abyte0[1] = (uchar)((0x0000ff00 & number) >> 8);
abyte0[2] = (uchar)((0x00ff0000 & number) >> 16);
abyte0[3] = (uchar)((0xff000000 & number) >> 24);
return abyte0;
}
float BytesToFloat(QString input)
{
QString or_num = input;
QString or_num1 = QString("%1").arg(or_num.mid(0, 2));
QString or_num2 = QString("%1").arg(or_num.mid(2, 2));
QString or_num3 = QString("%1").arg(or_num.mid(4, 2));
QString or_num4 = QString("%1").arg(or_num.mid(6, 2));
bool ok;
int num1 = or_num1.toInt(&ok, 16);
int num2 = or_num2.toInt(&ok, 16);
int num3 = or_num3.toInt(&ok, 16);
int num4 = or_num4.toInt(&ok, 16);
QByteArray ba = intToByte(num1);
char* c1 = ba.data();
QByteArray ba1 = intToByte(num2);
char* c2 = ba1.data();
QByteArray ba2 = intToByte(num3);
char* c3 = ba2.data();
QByteArray ba3 = intToByte(num4);
char* c4 = ba3.data();
float angle = 0.0;
char *p = (char*)∠
*(p + 0) = *c4;
*(p + 1) = *c3;
*(p + 2) = *c2;
*(p + 3) = *c1;
return angle;
}
QString or_num = "3e0f464a";
float xang = BytesToFloat(or_num);