当前位置: 首页 > news >正文

QT C++ modbus 两个字 合成 32位整数

在项目开发中,从传感器读到2个字,高字在前,低字在后,本文用两种方法,将两个字顺序交换,转换为32位整数。

方法一:用联合体

方法二:位移动


#include <QApplication>

#include <QDebug>
 

union int32Split
{
    int int32Value; // 32位整数
    struct
    {
        unsigned short  word0;
        unsigned short  word1;
    } sInt32Values;      
    unsigned short Uint16Array[2];
};

int main(int argc, char *argv[])
{
   QApplication a(argc, argv);
   
    int32Split c,c2;
    c.Uint16Array[1]=65535;//
    c.Uint16Array[0]=65533;
    qDebug()<<c.int32Value;
    //-------------------
    c2.int32Value=-3;
     qDebug()<<c2.Uint16Array[1];
     qDebug()<<c2.Uint16Array[0];
     //------------------- 
    int c3,c4;
    c3=65535<<16;//左移16位
    c4=c3 | 65533;//位或运算
    qDebug()<<c4;
     //------------------
    unsigned short d1=c4>>16;//右移16位
    unsigned short d2=c4 & 0xffff;//位与运算
    qDebug()<<d1;
    qDebug()<<d2;
    return a.exec();
}

相关文章:

  • DEX-EE三指灵巧手:扩展AI与机器人研究的边界
  • 力扣-二叉树-98 验证二叉搜索树
  • 七、敏捷开发工具:持续集成与部署工具
  • 竞彩数据怎么接入
  • OAI 平台 4G(LTE)基站 、终端、核心网 端到端部署实践(一)
  • . Spring MVC
  • 青少年编程与数学 02-009 Django 5 Web 编程 22课题、性能优化
  • WPF快速创建DeepSeek本地自己的客户端-基础思路版本
  • 用Prim算法求解最小生成树:代码实现与分析
  • AIGC(生成式AI)试用 21 -- Python调用deepseek API
  • 多线程之两阶段终止模式
  • 【DeepSeek】本地部署,保姆级教程
  • scala中为什么能用常量的地方就不用变量
  • Miniconda + VSCode 的Python环境搭建
  • 解锁观察者模式:Java编程中的高效事件管理之道
  • 【Windows软件 - HeidiSQL】导出数据库
  • golang常用库之-swaggo/swag根据注释生成接口文档
  • halcon 条形码、二维码识别、opencv识别
  • Java零基础入门笔记:(4)方法
  • 每日一题——将数字字符串转化为IP地址
  • 领证不用户口本,还需哪些材料?补领证件如何操作?七问七答
  • 重温经典|《南郭先生》:不模仿别人,不重复自己
  • 早期投资人蜂巧资本清仓泡泡玛特套现超22亿港元,称基金即将到期
  • 马上评|让“贾宝玉是长子长孙”争议回归理性讨论
  • 司法部:加快研究制定行政执法监督条例,建立完善涉企行政执法监督长效机制
  • 体坛联播|双杀阿森纳,巴黎晋级欧冠决赛对阵国际米兰