我有一些数据被存储为Nx32
逻辑数组。每一行代表我正在发送的一个 UDP 数据字。我将它存储为一个逻辑数组,因为我可以访问任何单词、单词的一部分,甚至跨越单词边界。(即,我可能将 a 存储uint32
为[array(1, 17:32) array(2, 1:16)]
。目前我根据输入的单词位置、LSB 和 MSB 找到用户想要的数据。
我正在写入类以从数据中的位置读取/写入的功能本质上要求我将任何给定的 MATLAB 数值类型或 char 转换为其二进制形式,然后将二进制形式存储到逻辑数组中,反之亦然。基本上有很多num2hex
其他的转换。(实际上,我尝试使用例如将浮点数转换为二进制, dec2bin(hex2dec(num2hex(pi)))
但输出不正确!)。
在 C 中,aunion
可以很容易地在数据类型之间进行转换。我可以写一个int
并直接读出它float
。这个功能在 MATLAB 中可以实现吗?如果有帮助,我确实可以访问所有工具箱。