分享

C语言将4个16进制char字符合并成一个int数

 新用户79878317 2021-07-19

串口接收只能按照char字符发送 所以需要拆分数据,下面代码为串口接收到的字符还原为int类型数字(int为32位)

  1. int rev_data(int a,int b,int c,int d)
  2.     int e = 0;
  3.     e=d;
  4.     e<<=8;
  5.     e|=c;
  6.     // printf('a = %X,b= %x,e= %X\n',a,b,e);
  7.     e<<=8;
  8.     e|=b;
  9.     // printf('a = %X,b= %x,e= %X\n',a,b,e);
  10.     e<<=8;
  11.     e|=a;
  12.    // printf('a = %X,b= %x,e= %d\n',a,e,e);
  13.     return e;
  14. }

输入:0x12,0x34,0x56,0x78,返回:‭2018915346‬或者0x78563412

不清楚可以留言,我看到会回复!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约