问题如下
QString str(“FFFFFFF4”)转int类型 正常情况下大家可能都会使用str.toInt(nullptr,16)来进行转换,但这种情况只能转换int类型,且是正值才可以,也就是0到0x7FFFFFFF,超过这个范围会转换失败
下面提供两种在QT下的解决方式
方式1:利用QByteArray 再进行强转

    QString str("FFFFFFF4");QByteArray ba = QByteArray::fromHex(str.toLatin1());//储存进QByteArrayint value =  *reinterpret_cast<int*>(ba.data());//进行强转qint32 s;qbswap<qint32>(value,&s);//大小端转换qDebug() << value << s;//-184549377 -12  (-184549377 = 0xF4FFFFFF)

这种方法可以使用,但不建议使用,只有数据传输中使用小端传输时,解析时比较适用,小端数据直接强转就可以用.
建议使用方式2

方式2:先转换为Uint,再强转为int

    QString str("FFFFFFF4");qDebug() << qint32(str.toUInt(nullptr,16));//12QByteArray ba = QByteArray::fromHex(str.toLatin1());qDebug() << qint32(ba.toHex().toUInt(nullptr,16));//12

转为uint时,因为不牵扯到负数,转换正常,范围可以是0到0xFFFFFFFF(4,294,967,295),结果值进行类型转换,转换为int类型,就可以把大于0x7FFFFFFF的值转为负数,相信熟记数据基本类型的同学都懂的

QT 16进制转10进制负数相关推荐

  1. 16进制与10进制转换(Qt)

    一.16进制转10进制 1. 数字转换字符串 QString Num2Str(quint8 hex) {QString str = QString("%1").arg(hex, 0 ...

  2. C++单、双精度浮点数16进制转10进制原理及代码

    一.浮点数16进制转10进制原理 浮点数有两种:单精度float(4字节) 和 双精度double(8字节). 1.单精度结构表 符号位 Sign (S) 指数部分 Exponent (E) 尾数部分 ...

  3. python 16进制转10进制, 8进制转10进制, 2进制转10进制的方法

    python 16进制转10 进制, 8进制转10进制, 2进制转10进制 可以使用系统自带的 int 方法 具体如下: value = "0x1388" result = int ...

  4. 10进制转16进制,16进制转10进制,随机出一个6位十六进制颜色值

    方案一: var num16 = "ffffff";var num10 = parseInt(num16,16);//16进制转10进制console.log(num10) // ...

  5. java 10zhuan8,Java代码 10进制转2、8、16进制转换 / 2、8、16进制转10进制转换

    public static void main(String[] args) { int i = 10; System.out.println("***********10进制转换2进制.8 ...

  6. python16进制转10进制_python 字节串及10进制,16进制相关转换

    进行协议解析时,总是会遇到各种各样的数据转换的问题,从二进制到十进制,从字节串到整数等等 整数之间的进制转换: 10进制转16进制: hex(16) ==> 0x10 16进制转10进制: in ...

  7. 关于物联网的各种转换,16进制 二进制 10进制 效验总结

    字符串插入字符 /// <summary>/// 每隔n个字符插入一个字符/// </summary>/// <param name="input"& ...

  8. 负数补码(16进制转10进制的负数)

    假如我想通过modbus tcp接收设备上传的报文,该设备显示为负数,但报文上无法解析出来(温度报文异常,负数无法显示与转换).这时候,我就需要对这个报文进行负数补码形式,16进制转10进制的负数. ...

  9. c# .net 16进制转换10进制

    业务调用 #region C#十六进制字符串转十进制 { Console.WriteLine("-----------十六进制字符串转十进制---------");//H:十六进制 ...

  10. 蓝桥杯基础之16进制、10进制、8进制、2进制换算总结

    常用函数的一些小总结 string to int(字符串转到int类型) #include<sstream> //重要的库 #include<iostream> #includ ...

最新文章

  1. redis集群部署步骤
  2. 分布式数据库系统(DDBS) 概述
  3. 特斯拉员工自曝:为应付产能不惜偷工减料,出厂测试得过且过
  4. yolov5 onnx
  5. 向量空间和计算机科学与技术,向量空间
  6. cba比赛比分预测_CBA榜首大战新疆笑到最后 周琦18+15但救赎之路依旧漫长
  7. Linux 学习 (一)
  8. pil 图像最大值_第97天:图像库 PIL(二)
  9. 三、Vue组件化开发学习笔记——组件化的基本步骤、全局组件和局部组件、父组件和子组件、注册组件的语法糖、模板分离写法、组件的数据存放
  10. Django - ORM操作
  11. 网易云android视频播放器,网易云服务-在线搜歌-数据结构
  12. 通过Ftp put命令上传导致文件损坏的解决办法
  13. About UserAccountControl
  14. css用户界面样式(附实例、图解)
  15. 从烂漫少女到已为人母:八年青春 梦断互联网
  16. windows cmd 批处理将文件名改为大写:https://blog.csdn.net/llq108/article/details/47185279
  17. centos7 “v篇n“工具
  18. Clickhouse Kafka Engin参数记录
  19. 应聘恩智浦时考察正则表达式
  20. 第72届英国影艺学院电影奖9日公布入围名单

热门文章

  1. 兼容ie8的html avi播放器
  2. 聚观早报 | 王思聪退出万达集团董事;腾讯申请微信输入法商标
  3. 从苹果学习宣传语/广告语的优化 – Apple 文案初品(转载)
  4. 自定义Button实现百分比宽度
  5. Flask学习之旅——2.2 模板过滤器
  6. java编写salary函数_编写一个Java程序,在程序中包含一个Employee类,Employee类包含name、age、salary三个成员变量...
  7. 在windows下配置wnmp
  8. AMD GPU电源管理
  9. vue 使用gojs绘制简单的流程图
  10. SQL Server 2014 官方培训课件