• 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 }
  • 相关阅读:
    StatusStrip控件的使用(转:http://blog.sina.com.cn/s/blog_4f18c3ec0100fguf.html)
    linux根文件系统
    git使用技巧
    修改git用户名
    luci中添加application
    openwrt安装依赖库
    STM32(二十九)定时器介绍
    openwrt部分文件解析
    uci.js文件解析
    矿机算力
  • 原文地址:https://www.cnblogs.com/huanyinglvtuan/p/9735973.html
Copyright © 2020-2023  润新知