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

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

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

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

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

相关推荐
LabVIEW开发7 小时前
LabVIEW液位边缘检测
图像处理·计算机视觉·labview·labview知识·labview功能·labview程序
LabVIEW开发2 天前
LabVIEW用直线边缘检测实现液位测量
数码相机·计算机视觉·labview·labview知识·labview功能·labview程序
LabVIEW开发3 天前
LabVIEW的Vision边缘工具(Edge Tool)功能
图像处理·计算机视觉·labview·labview知识·labview功能·labview程序
LabVIEW开发3 天前
LabVIEW暂态电能质量监测系统
labview·labview知识·labview功能·labview程序
LabVIEW开发6 天前
LabVIEW燃气轮机组励磁控制器测试
labview·labview知识·labview功能·labview程序
清风6666669 天前
基于单片机的档案库房漏水检测报警labview上位机系统设计
数据库·单片机·毕业设计·课程设计·labview·期末大作业
斯金12 天前
LabVIEW连接本地部署大模型
labview
我超膨胀der.14 天前
LABVIEW依赖关系显示文件删除、移动或重命名,每次打开都要指定很多路径【解决方案】
labview
LabVIEW开发14 天前
LabVIEW 可重入子 VI
labview·labview知识·labview功能·labview程序
LabVIEW开发15 天前
多台485设备LabVIEW通讯异常
labview·labview知识·labview功能·labview程序