一般32位二进制整可以转化成8位的16进制
int num= 0x2abc;
//方法一:用.arg()函数
qDebug()<<"十进制输出"<<QString("%1").arg(num);
qDebug()<<"16进制小写输出"<<QString("%1").arg(num,8,16,QLatin1Char('0')); //不足8位补0
qDebug()<<"16进制大写输出"<<QString("%1").arg(num,8,16,QLatin1Char('0')).toUpper();//不足8位补0(输出8位十六进制)
//方法二:格式化输出,用sprintf()函数
qDebug()<<"格式化十进制小写输出"<<QString().sprintf("%d",num);
qDebug()<<"格式化16进制小写输出"<<QString().sprintf("%04x",num);
qDebug()<<"格式化16进制大写输出"<<QString().sprintf("%04X",num);
//运行结果
十进制输出 “10940”
16进制小写输出 “2abc”
16进制大写输出 “2ABC”
格式化十进制小写输出 “10940”
格式化16进制小写输出 “2abc”
格式化16进制大写输出 “2ABC”
QString类型的16进制数转换
QString hexbuf = "F0F0";//测试数据
qDebug()<<hexbuf .toInt(nullptr,16);//十六进制读取
qDebug()<<hexbuf .setNum(val,2);//显示为2进制
QByteArry转QString类型
QByteArray arry;
QString buf;
buf = QString(arry);
```