欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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字符串,不为数字):

十进制输出 “1094016进制小写输出 “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);
	```
相关标签: printf c++