decimal to binary conversion of an array
1 回表示 (過去 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
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.
採用された回答
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
0 件のコメント
その他の回答 (1 件)
参考
カテゴリ
Help Center および File Exchange で Data Type Conversion についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!