quint16 num=0x2abc;
qDebug()<<"十进制输出"<<QString("%1").arg(num);
qDebug()<<"16进制小写输出"<<QString("%1").arg(num,4,16,QLatin1Char('0')); //不足四位补0
qDebug()<<"16进制大写输出"<<QString("%1").arg(num,4,16,QLatin1Char('0')).toUpper();//不足四位补0
//格式化输出
qDebug()<<"格式化十进制小写输出"<<QString().sprintf("%d",num);
qDebug()<<"格式化16进制小写输出"<<QString().sprintf("%04x",num);
qDebug()<<"格式化16进制大写输出"<<QString().sprintf("%04X",num);
运行结果(输出结果为QString字符串,不为数字):
十进制输出 “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);