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

labview实现16进制数据相加取反,取低16位校验

之前探讨过通过labview实现取补码的功能,今天来探讨一下,通过labview实现16进制数据取反相加取低16位的方法。

在日常调试中我们会遇到各种校验方式,如果把他们集成到我们自己写的程序里,实现指令的收发是我们需要注意的,这里我们通过移位寄存器的方式实现各个16进制的相加,因为我这里16进制存储在U8的字节数组中,我先给他转换成U64的数据在进行相加,这样就不会担心溢出的问题。

解决了相加,接下来就要解决取反的操作,这里还是习惯把16进制转换成二进制,在由二进制与1异或的方式来进行取反操作。需要注意的是,这里我们不知道相加之后的数据是否有16位,因此在这里加了一个判断,当相加后的数据字符串长度大于等于16时,我们只需要截取字符串从后往前数的16位数据就可以了,当相加之后的数据没有16位的时候,这里就需要在前面进行补0操作,差几位数据我们就在前面补几个0,这样在进行取反操作。

操作之后,我们再给他加一个校验,先判断他的字符串长度是否为我们需要的16位,如果不是证明校验错误,这里加了一个弹窗,如果等于16,我们在进行下一步操作,取反之后我们再通过扫描值字符串把二进制数据转换成数值,再由格式化写入字符串函数,把数值转换成16进制字符串,因为这里取低字节在前,我们需要把两个字节数据进行一下互换,这样就得到了校验码。最后再把它转换成U8数组进行输出就好了。

相关文章:

  • 【JavaEE】线程池
  • 人工智能的发展历史
  • OSPF-单区域的配置
  • Python 入
  • (openstack搭建)openstack云平台部署-详细完整教程
  • 【每日学点HarmonyOS Next知识】对话框去掉圆角、数组拼接、自定义对话框依附某个控件、平移动画、页面栈管理
  • (二)企业级监控系统 - ZABBIX 部署
  • STM32-SPI通信协议
  • Visual Studio Code 基本使用指南
  • Ultravox:融合whisper+llama实现audio2text交互
  • 三维仿射变换矩阵
  • 安裝do時出現log file support is not available
  • 【软件测试开发】:软件测试常用函数1.0(C++)
  • 『PostgreSQL』 Ubuntu 系统下PG15的安装与 PGVector 配置指南
  • 在本地部署DeepSeek等大模型时,需警惕的潜在安全风险
  • MongoDB 副本集的健康指标 写关注级别
  • 智谱AI开源CogView4,支持中英文,性能比肩flux!
  • 用Nutch库的HTTP请求写个万能下载程序
  • Spark(8)配置Hadoop集群环境-使用脚本命令实现集群文件同步
  • 时序数据库TimescaleDB基本操作示例
  • 北京警方:海淀发生小客车刮碰行人事故4人受伤,肇事司机已被查获
  • 【社论】公平有序竞争,外卖行业才能多赢
  • 上海145家博物馆、73家美术馆将减免费开放
  • 广州地铁十一号线赤沙车辆段工程高坠事故调查报告公布:1人重伤且漏报
  • 韩国总统选战打响:7人角逐李在明领跑,执政党临阵换将陷入分裂
  • 教育部基础教育教指委:稳步推进中小学人工智能通识教育