MATLAB中有C联合功能吗?

当荷

我有一些数据被存储为Nx32逻辑数组。每行代表我发送的UDP数据的一个字。我将其存储为逻辑数组,因为我可以访问任何单词,单词的一部分甚至跨单词边界。(即,我可能会存储uint32[array(1, 17:32) array(2, 1:16)]。目前,我可以根据输入字的位置,LSB和MSB找到用户想要的数据。

我要写入类以从数据中的某些地方读取/写入的功能本质上要求我将任何给定的MATLAB数值类型或char转换为其二进制形式,然后将二进制形式存储到逻辑数组中,反之亦然。基本上有很多num2hex其他转换。(实际上,我尝试使用某种方法将浮点数转换为二进制,dec2bin(hex2dec(num2hex(pi)))但输出不正确!)。

在C语言中,union可以轻松地在数据类型之间进行强制转换。我可以写一个int,然后float直接将其读出在MATLAB中可以使用此功能吗?如果有帮助,我确实可以访问所有工具箱。

霍希勒

我不熟悉与Matlab中的联合概念直接匹配的任何事物,但是有可能获得相同的结果(使用更多的内存)。我相信您正在寻找typecast,例如

x = uint32([1 2 3]);
y = typecast(x,'single')

如果需要更改有效位的顺序,请使用swapbytes

编辑:如果您想处理逻辑,那么您将不得不使用二进制字符串作为中间步骤。我认为dec2bin应该没问题(就我所知,无需将其设置为十六进制),也许您的问题是您没有提供表示要写入多少位的可选第二个参数?

x = dec2bin(22,32)

您可以转换为逻辑并翻转字节

y = x=='1';
y = fliplr(y);

您也可以在Matlab中研究使用Java,例如,将其用于双打:

x = java.lang.Double.doubleToLongBits(22);
y = java.lang.Long.toBinaryString(x)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Scala中有“部分减少”功能吗?

来自分类Dev

Elixir中有转置功能吗?

来自分类Dev

Elixir中有非静态功能吗?

来自分类Dev

Elixir中有身份功能吗?

来自分类Dev

liquibase中有替换功能吗?

来自分类Dev

PySpark中有提供“分钟”功能吗?

来自分类Dev

Geany中有书签功能吗?

来自分类Dev

SVMlight中有缩放功能吗?

来自分类Dev

Scala中有“部分减少”功能吗?

来自分类Dev

JQuery中有计时功能吗?

来自分类Dev

在matlab中有更快版本的fminbnd吗?

来自分类Dev

Python中有与Swift的keypath功能等效的功能吗?

来自分类Dev

在Julia中有效实现Matlab的“查找”功能

来自分类Dev

此功能在matlab中有什么作用?

来自分类Dev

Rust中有像NodeJS的EventEmitter这样的功能吗?

来自分类Dev

Common Lisp中有功能原型吗?

来自分类Dev

MySQL中的Field()蜂巢中有任何功能吗?

来自分类Dev

SharpDX中有与XNA Math等效的功能吗?

来自分类Dev

在PHP中有替换功能吗?像javascript替换()

来自分类Dev

Matlab解决功能有问题吗?

来自分类Dev

Matlab解决功能有问题吗?

来自分类Dev

在C#中有jQuery扩展吗?

来自分类常见问题

C ++中有128位整数吗?

来自分类Dev

C ++中有128位整数吗?

来自分类Dev

在R中有类似于Matlab的“全部关闭”命令吗?

来自分类Dev

JS文件中有没有功能的点吗?

来自分类Dev

在Octave中,MATLAB的getpts()有任何功能吗?

来自分类Dev

Java中有等于C的*(unsigned int *)(char)= 123吗?

来自分类Dev

C ++中有可变长度数组吗?