ВходнойКак преобразовать двоичное число в массив?
1001001110
Предназначенный выход
[1 0 0 1 0 0 1 1 1 0]
P.S. некоторое регулярное выражение, например regexp('1001001110',[10])
, может сделать это, но требует не заменяющего токена.
ВходнойКак преобразовать двоичное число в массив?
1001001110
Предназначенный выход
[1 0 0 1 0 0 1 1 1 0]
P.S. некоторое регулярное выражение, например regexp('1001001110',[10])
, может сделать это, но требует не заменяющего токена.
array = ismember(binarynumber,'1')
например,
A = ismember('1010','1')
возвращает
1 0 1 0
логика, хотя, но вы можете преобразовать его с помощью double(A)
. Улучшение вашего метода заключается в том, что вы непосредственно получаете числа вместо символов, считая, что хотите этого.
и назад:
binary = sprintf('%d',A)
возвращается:
B =
1010
Regex, но ismember лучше в другом ответе.
>> 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
Как вы делаете это в обратном направлении? Двоичный номер в массиве в двоичный? – hhh
вы можете использовать 'sprintf', см. Edit. – thewaywewalk
@thewaywewalk ничего себе! Большое спасибо! – hhh