分裂的二进制数

35视图(30天)
Ganesh
Ganesh 大约18小时前
看到我有一个未知长度的二进制代码,我想把它分成块长度四个,并将每一块分配给一个变量。
2的评论
沃尔特·罗伯森
沃尔特·罗伯森 10分钟前
,并将每一块分配给一个变量
请阅读 //www.tianjin-qmedu.com/matlabcentral/answers/304528-tutorial-why-variables-should-not-be-named-dynamically-eval 为什么我们强烈推荐信息对动态创建的变量名。

登录置评。

答案(1)

阿布
阿布 约9小时前
嗨Ganesh,
我理解,你不能把未知长度的二进制数据分成多个块长度的4。
为了解决这个问题,您可以执行一些操作提取最后四位二进制数据,然后将结果存储在一个数组中,并将每个块分配给一个变量。
供您参考,以下示例演示了一个简单的方法来划分一个未知长度的二进制数据的多个块:
%寄存器的变量存储二进制数。
= 0 b1001011010001010101011010101010110000010101111110101010101登记;
%一个数组来存储四个长度的二进制数。
blockOfLengthFour = [];
%简单位操作提取最后四位并添加到一个
%的数组
注册
%得到最后四位
nextFourBits = bitand(注册、15);
%结果附加到最终结果数组中
blockOfLengthFour = [nextFourBits, blockOfLengthFour];
%去除原始二进制数的最后四位
= bitshift注册(注册,4);
结束
blockOfLengthFour
blockOfLengthFour = 1×15
2 5 10 2 10 11 10 15 13 5 5 5 5 6 0
5个评论
阿布
阿布 19分钟前
的最后一行代码提供给15个不同的价值观和他们每个人大于单一。

登录置评。

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!