QT整数按照16进制输出
程序员文章站
2024-03-18 14:32:34
...
一般32位二进制整可以转化成8位的16进制,所以个人比较喜欢按照8位输出16进制;例如 0x00040021;
int num= 0x2abc;
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
//格式化输出
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);
```
上一篇: android GLES20 color