QT进制之间的相互转换

本篇是对作者本人在工作经常遇到的进制转换进行总结,,编程环境为QT5.7
int类型转16进制的字符串
两种方式:
第一种:

1 int m_networkNo = 6300;
2 Log::debug(QString::number(m_networkNo, 16));//这里的log::debug是打印日志(自定义),可换成qDebug

第二种
QString QString::arg(int a, int fieldWidth = 0, int base = 10, QChar fillChar = QLatin1Char( ‘ ‘ )) const
fieldWidth:字符串指定长度
fillChar:不够长度用这个字符进行填充

1 int m_networkNo = 6300;
2 Log::debug(QString("%1").arg(m_networkNo, 6, 16, QLatin1Char(‘0‘)));

QString 16进制转二进制的char*

 1 char*   myHexToBin(QString inStr, char *dest, int len)
 2 {
 3 int size=inStr.length();
 4 for (int i=0,j=0;i<size && j<len;i+=2,j++)
 5 {
 6 unsigned char tempC,bcd;
 7 tempC=inStr.at(i).toLatin1();
 8 if (tempC>=‘a‘ && tempC<=‘f‘) tempC=tempC-‘a‘+‘A‘;
 9 bcd = ( tempC>=‘A‘? tempC - ‘A‘+ 0x0a:tempC - ‘0‘) << 4;
10 tempC=inStr.at(i+1).toLatin1();
11 if (tempC>=‘a‘ && tempC<=‘f‘) tempC=tempC-‘a‘+‘A‘;
12 bcd += tempC>=‘A‘? tempC - ‘A‘+ 0x0a:tempC - ‘0‘;
13 sprintf(dest+j, "%c",bcd);
14 }
15 return dest;
16 }

原文地址:https://www.cnblogs.com/huanyinglvtuan/p/9735973.html

时间: 2024-10-16 19:27:37

QT进制之间的相互转换的相关文章

十进制与其他进制之间的相互转换

一.各进制转换为十进制 int Integer.parseInt(String s,int radix);方法用途: parseInt("0", 10) 返回 0 parseInt("473", 10) 返回 473 parseInt("-0", 10) 返回 0 parseInt("-FF", 16) 返回 -255 parseInt("1100110", 2) 返回 102 parseInt("

各进制之间的相互转换公式

二进制转十进制:1 2 4 8 16 32 64 128 十转八进制:1 8 64 512 4096 32768 十六转十:1 16 256 4096 注:十六进制的10-15 用 A-F 表示

进制间的相互转换

我们平时计算都是使用十进制数,但是有时候我们需要用到二进制数.十六进制数等.在进制转换中,我们主要需要掌握的是十进制转换成N进制和N进制转换成十进制,而对于任意进制之间的相互转换,例如:P进制转换成R进制. 1.任意进制转十进制: k(n) * 10^(n-1) + k(n-1) * 10^(n-2) + ... + k(2) * 10^1 + k(1) * 10 ^0,其中n代表数字所在的位数,k(n)代表第n位上的数字值 2.十进制转任意进制:        (1)试减法         

C语言博客(6)编程基础之进制之间的转换

在本人的C语言博客的内容中,前面两篇随笔对二进制.八进制和十六进制进行了说明,接下来讲一下不同进制之间的数字是如何转换的,这在编程中经常会用到,尤其是C语言. 其他进制向十进制转换 在C语言学习中,二进制.八进制和十六进制向十进制转换都是非常容易的,就是"按权相加". 所谓"权",也即"位权".例如,十进制第1位的位权为100=1,第2位的位权为101=10,第3位的位权为102=100:而二进制第1位的位权为20=1,第2位的位权为21=2,第

(2、8、10、16)进制之间的转换的背后的故事

今天在涉及到String型转换为Int型时候想到的一个问题,带符号数的转换问题,发现需要再回头看看进制的问题.找到点资料,觉得还可以,借取一段放在这里与备后查. 16进制:用16作为基数的计数系统.用数字0-9和字母a-f(或其大写A-F)表示10到15. 十六进制数转换成十进制数 2进制,用两个阿拉伯数字:0.1: 8进制,用八个阿拉伯数字:0.1.2.3.4.5.6.7: 10进制,用十个阿拉伯数字:0到9: 16进制,用十六个阿拉伯数字……等等,阿拉伯人或说是印度人,只发明了10个数字啊?

python中的2、8、16、10进制之间的转换

python除法的坑 众所周知,python除法有两个运算符,一个是/,还有一个是//,那么这两个有什么不同之处呢? 从图片可以得知,使用//返回一个float类型,而使用/返回一个int类型.我们总结一下: // 是整除,自动转型位float / 除法 那么如何使用整除运算符返回一个float类型呢? 我们只要让除数和被除数任意一个为float类型进行运算返回就是一个float类型的值. 10.2.8.16进制 像0,1,2,3,4......10这样的数就是10进制,并且满十位进一位,即逢十

Python3进制之间的转换

Python3进制之间的转换 在Python里面实现进制之间的转换是非常方便的,有专门的函数来进行这个操作: 下面直接上代码: # 进制之间的转换 a = 10 # 转换为二进制 print(bin(a)) # 结果为0b1010 # 转换为八进制 print(oct(a)) # 结果为0o12 # 转换为八进制 print(hex(a)) # 结果为0xa # 一个非十进制的数转换为十进制 print(int(0b1010)) # 结果为10 原文地址:https://www.cnblogs.

2、8、10、16进制之间的相互装换

十进制数字175  可以写成: 175=5*100+7*101+1*102(从低位到高位依次乘以进制的n-1次方的和) 同理我们可以得到二进制转换十进制的方法: ♥二进制转换十进制 100101=1*20+0*21+1*22+0*23+0*24+1*25=37 也就是说100101的十进制数字就是37 ♦简单方法(对应法) 第八位 第七位 第六位 第五位 第四位 第三位 第二位 第一位 27 26 25 24 23 22 21 20 128 64 32 16 8 4 2 1 ♥十进制转换二进制

java中进制之间的转换

//十进制转其他进制 Integer.toHexString(10); //将10转换为十六进制,返回字符串类型 Integer.toOctalString(10); //将10转为八进制,返回字符串类型 Integer.toBinaryString(10); //将10转为二进制,返回字符串类型 //其他进制转十进制 //十六进制转十进制,例如:0xFFFF Integer.valueOf("FFFF",16).toString(); //valueOf()方法返回Integer类型