labview实现大小端交换移位

在解码时遇到了大小端交换的问题,需要把高低字节的16进制值进行互换,这里一时间不知道怎么操作,本来打算先把16进制转字节数组,算出字节数组的大小,然后通过模2得到0,1,来判断是否为奇数位和偶数位,因为得到的数据为双数字节,这里只需要实现奇数位偶数位的数据互换就可以了,但是实现过程中发现,当第一个余数为0时,把他插入数组的第二个位置并不能实现,因为此时是一个空数组,最后得到的数据也只是一个数。

因此得到一个结论,空数组不能插入0以外的索引值。

后面改正了一下方法,因为要实现奇数位和偶数位互换,我们可以采取先删除一个,再插入一个的做法,这样的话就不会因为空数组导致不能互换的结果。当余数为0时证明是奇数位的数据进来,我们只需要删除掉当前索引位置的数据,这里给到长度为1索引就用for循环的i值,然后进行删除操作,并把删除后的值通过另一个移位寄存器传过来,传到下一次插入数据备用,当余数为1时间证明已经到了偶数位,我们只需要把上一次删除的数据插入进去,也是利用for循环中i的值,就可以实现大小端数据互换的操作。

这里我给他加了一个校验,防止得到的数据不是偶数位的情况,这样的话就需要去排查一下哪里出了问题。然后跳出一个提示,提醒我们去排查一下。

相关推荐
LabVIEW开发16 小时前
LabVIEW 退出时的“Possible path leak”崩溃:成因分析与规避
labview·labview知识·labview功能·labview程序
LabVIEW开发16 小时前
LabVIEW按段拆分TDMS文件的格式边界与重构
开发语言·数据库·重构·labview·labview知识·labview功能·labview程序
LabVIEW开发2 天前
LabVIEW图标编辑器文字模糊现象
ui·编辑器·labview·labview知识·labview功能·labview程序
LabVIEW开发4 天前
32位与64位LabVIEW的CPU占用差异
labview·labview知识·labview功能·labview程序
LabVIEW开发4 天前
基于原始套接字实现LabVIEW网络Ping检测的编程方法
网络·labview·labview知识·labview功能·labview程序
LabVIEW开发5 天前
如何为特定频率波形确定合适的缓冲区长度
labview·labview知识·labview功能·labview程序
zlinear数据采集卡5 天前
数据采集卡从入门到精通(38):上位机开发实战——Python/QT/LabVIEW的技术选型与分层架构
python·单片机·嵌入式硬件·qt·fpga开发·开源·labview
LabVIEW开发7 天前
LabVIEW主程序中子VI未执行问题
labview·labview知识·labview功能·labview程序
LabVIEW开发12 天前
LabVIEW大规模数据文件读取与波形显示的性能优化
labview·labview知识·labview功能·labview程序
小小筱筱12 天前
LabVIEW笔记:解决周立功CAN卡驱动缺失导致的启动报错问题
笔记·labview