如何将二进制位转换为数组

时间:2013-03-23 13:28:12

标签: arrays matlab binary

在我的项目中,我想将二进制位转换为数组。

例如:

二进制值

a= dec2bin(1) = 0001

但我希望将其转换为数组并像这样存储

a=[0 0 0 1]

2 个答案:

答案 0 :(得分:1)

使用转置数组str2num的{​​{1}}:

a

这样,字符串a = dec2bin(1,4); out = str2num(a')'; 的每个元素都被单独转换为数字。

答案 1 :(得分:0)

您可以使用bitand,例如

>> bitand(1, 2.^(7:-1:0)) > 0

ans =

 0     0     0     0     0     0     0     1

或者

bitand(10, 2.^(7:-1:0)) > 0

ans =

 0     0     0     0     1     0     1     0

而且,如果您需要计算两个权力以包含任意数字,您可以使用ceil(log2(theNumber))