int 转 QByteArray bytes 转float


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);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值