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

Arrays 如何将二进制位转换为数组,arrays,matlab,binary,Arrays,Matlab,Binary,在我的项目中,我想把二进制位转换成数组 例如: 二进制值 a= dec2bin(1) = 0001 但是我想把它转换成数组并像这样存储 a=[0 0 0 1] 使用转置数组a的str2num: a = dec2bin(1,4); out = str2num(a')'; 这样,字符串a的每个元素都被单独转换成一个数字。使用转置数组a的str2num: a = dec2bin(1,4); out = str2num(a')'; 这样,字符串a的每个元素都被单独转换为一个数字。您可以使用位

在我的项目中,我想把二进制位转换成数组

例如:

二进制值

a= dec2bin(1) = 0001
但是我想把它转换成数组并像这样存储

a=[0 0 0 1]

使用转置数组a的str2num:

a = dec2bin(1,4);

out = str2num(a')';

这样,字符串
a
的每个元素都被单独转换成一个数字。

使用转置数组
a
str2num

a = dec2bin(1,4);

out = str2num(a')';

这样,字符串
a
的每个元素都被单独转换为一个数字。

您可以使用
位和
,例如

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

ans =

 0     0     0     0     0     0     0     1


而且,如果您需要计算任意数字的许多二次幂,您可以使用
ceil(log2(数字))
您可以使用
位和
,例如

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

ans =

 0     0     0     0     0     0     0     1

而且,如果您需要计算任意数字的许多二次幂,您可以使用
ceil(log2(theNumber))