decimal to binary conversion of an array

2 次查看(过去 30 天)
i have an array a=[102, 2,3,201,8,9]
so when i convert it to binary each term has same length as
[ 0 1 1 0 0 1 1 0
0 0 0 0 0 0 1 0
0 0 0 0 0 0 1 1
1 1 0 0 1 0 0 1
0 0 0 0 1 0 0 0
0 0 0 0 1 0 0 1]
but i want each term to become binary according to the size not with padded zero as 2 in binary is '10' not '0 0 0 0 0 0 1 0'
thanks in advance
  4 个评论
Walter Roberson
Walter Roberson 2019-10-2
Numeric only
Sorry, that is not possible in MATLAB. In MATLAB, numeric arrays must always have the same number of columns in each row.
If you had wanted cell array of character vectors, or string array, or cell array of numeric vectors, then those would be possible.
PRAVEEN GUPTA
PRAVEEN GUPTA 2019-10-2
Then how to do cell array of numeric vector??

请先登录,再进行评论。

采纳的回答

Stephen23
Stephen23 2019-10-2
编辑:Stephen23 2019-10-2
Cell array of character vectors:
>> a = [102,2,3,201,8,9];
>> c = arrayfun(@dec2bin,a,'uni',0);
>> c{:}
ans = 1100110
ans = 10
ans = 11
ans = 11001001
ans = 1000
ans = 1001
Cell array of numeric vectors:
>> c = arrayfun(@(n)dec2bin(n)-'0',a,'uni',0);
>> c{:}
ans =
1 1 0 0 1 1 0
ans =
1 0
ans =
1 1
ans =
1 1 0 0 1 0 0 1
ans =
1 0 0 0
ans =
1 0 0 1

更多回答(1 个)

PRAVEEN GUPTA
PRAVEEN GUPTA 2019-10-2
Thanks

类别

Help CenterFile Exchange 中查找有关 Data Type Conversion 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by