首页 > 其他分享 >Qt 16位和32位高低位转换

Qt 16位和32位高低位转换

时间:2024-03-01 15:34:53浏览次数:26  
标签:return Qt 16 int 32 quint32 data

一、16位高低位转换

1 quint16 highAndLowConversion_16(quint16 data)
2 {
3        return ((data & ox00ff) << 8) | (data >> 8);
4 }

 二、32位高低位转换

1 quint32 highAndLowConversion_32(quint32 data)
2 {
3       return ((data & 0x0000ffff) << 16) | (data >> 16);
4 }

 三、获取32位的高16位

1 quint16 get32BitHigh16Bit(quint32 data)
2 {
3       return (data & 0xffff0000) >> 16;
4 }

四、获取32位的低16位

1 quint16 get32BitLow16Bit(quint32 data)
2 {
3       return data & 0x0000ffff;
4 }

 五、交换32位高低16位,并且交换16位中的高低8位,如下两种方式:

 1 int Global::Conversion_32(int data)
 2 {
 3     int H = (data & 0xffff0000) >> 16;
 4     int L = data & 0x0000ffff;
 5     int H_16bit = ((H & 0x00ff) << 8) | (H >> 8);
 6     int L_16bit = ((L & 0x00ff) << 8) | (L >> 8);
 7 
 8     return  L_16bit << 16 | H_16bit;
 9 }
10 
11 
12 int Global::Con_32To_16bitTo_8bit(int  data)
13 {
14 
15     int n32 = ((data & 0x0000ffff) << 16) | (data >> 16);
16 
17     return ((n32 & 0x00ff) << 8) | (n32 >> 8);
18 }

 

标签:return,Qt,16,int,32,quint32,data
From: https://www.cnblogs.com/ybqjymy/p/18047169

相关文章

  • Qt - 在窗口中添加右键菜单功能
    如果想要在某一窗口中显示右键菜单,其处理方式大体上有两种,这两种方式分别为基于鼠标事件实现和基于窗口的菜单策略实现。其中第二种方式中又有三种不同的实现方式,因此如果想要在窗口中显示一个右键菜单一共四种实现方式,下面依次为大家讲解…1.基于鼠标事件实现1.1实现......
  • Qt - 常用快捷键
    QT快捷键1、Esc切换到代码编辑状态2、F1查看帮助(选中某一类或函数,按下F1,出现帮助文档)3、F2在光标选中对象的声明和定义之间切换(和Ctrl+鼠标左键一样的效果,选中某一类或函数,按下F2,迅速定位到该类或函数声明的地方或被调用的地方)4、F3查找下一个5、F4头文件和源文件之间......
  • 打卡16
    GitHub使用教程(九) 你的本地仓库由git维护的三棵“树”组成。第一个是你的工作目录,它持有实际文件;第二个是缓存区(Index),它像个缓存区域,临时保存你的改动;最后是HEAD,指向你最近一次提交后的结果。事实上,第三个阶段是commithistory的图。HEAD一般是指向最新一次commi......
  • MDS300-16-ASEMI整流模块MDS300-16参数、封装、尺寸
    编辑:llMDS300-16-ASEMI整流模块MDS300-16参数、封装、尺寸型号:MDS300-16品牌:ASEMI封装:M25最大重复峰值反向电压:1600V最大正向平均整流电流(Vdss):300A功率(Pd):大功率芯片个数:6引脚数量:5类型:模块、大功率正向浪涌电流:500A正向电压:1.35V最大输出电压(RMS):封装尺寸:如图工......
  • 【STM32】使用Keil5加载程序时出现No Target Connected错误的解决办法
    错误情况加载程序时弹出Notargetconnected的Error框,随后弹出Flashdownloadfailed-TargetDLLhasbeencancelled。此时打开设置中Debug选项的Setting窗口,显示SWDIO中Notargetconnected解决办法检查设置里的Debug选项里的调试器型号有没有选对,如下图所示,我用的是S......
  • Qt QModbus相关类实现ModbusTcpServer总结
    在疫情环境下催生出了很多的无人或者减少人员接触的项目,比如无人智慧餐厅项目中的无人送餐项目,主要是由送餐小车和一个中控屏和部分协助发餐的设备组成,由于餐厅一般的范围不会很大,考虑到Wi-Fi通信可能比较麻烦,我们前期组网协议使用的是zigbee,这样的话小车可以无网络运行且待......
  • Qt QModbusServer类
    1、概述QModbusServer类是用于接收和处理Modbus请求的接口。1Header:#include<QModbusServer>2qmake:QT+=serialbus3Since:Qt5.84Inherits:QModbusDevice5InheritedBy:QModbusRtuSerialSlaveandQModbusTcpServerModbus网络可以具有多个Modbus......
  • Codeforces 932D Tree
    首先有个动态加叶子的操作,考虑到树剖需要离线下来预处理,便考虑用倍增来维护。首先要找到\(\gea_u\)的最深的父亲\(v\),便可以先用倍增处理好长度为\(2^i\)的链上的\(\max\)。如果\(\max<a_u\),就往上跳,跳不了就是到点\(v\)了。考虑连边\(v\tou\),这仍然会是一棵树(建......
  • p3214-solution
    P3214Solutionlink为了方便,我们求有序的答案最后再除掉\(m!\)。题目的限制包括:每种元素总共出现偶数次不存在相同的两个集合没有空集考虑偶数的限制,你发现每个集合中元素出现次数要么\(0\)要么\(1\)。于是如果你确定了前\(m-1\)个集合,最后一个集合会被唯一......
  • centos7安装node18.16.1
    centos7安装node18.16.1参考文档https://www.cnblogs.com/dingshaohua/p/17103654.html详细文档[root@172~]#npm-vnode:/lib64/libm.so.6:version`GLIBC_2.27'notfound(requiredbynode)node:/lib64/libc.so.6:version`GLIBC_2.25'notfound(requ......