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

时间:2013-10-26 16:45:24

标签: regex matlab math binary type-conversion

输入

1001001110

预期输出

[1 0 0 1 0 0 1 1 1 0]

P.S。像regexp('1001001110',[10])这样的一些正则表达式可以做到这一点但需要非替换令牌。

2 个答案:

答案 0 :(得分:4)

array = ismember(binarynumber,'1')

e.g。

A = ismember('1010','1')

返回

1 0 1 0
但是

逻辑,但您可以使用double(A)对其进行转换。改进你的方法是,假设你想要这个,你直接得到数字而不是字符。

及其后退:

binary = sprintf('%d',A)

返回:

B = 
     1010

答案 1 :(得分:0)

正则表达式,但在另一个答案中更好。

>> a=regexp('1001001110','[^a]','match')

a = 

  Columns 1 through 9

    '1'    '0'    '0'    '1'    '0'    '0'    '1'    '1'    '1'

  Column 10

    '0'

不要使用Dec2bin然后使用以上内容,而是直接使用de2bi

>> de2bi(12)

ans =

     0     0     1     1