我想转换 <1 x 8 cell> 的字符
'111001' '00' '111000' '01' '1111' '10' '11101' '110'
到 <1 x (length bitcode)> 的 <1 x 8 cell> 双打
[111001] [00] [111000] [01] [1111] [10] [11101] [110]
我怎样才能做到这一点?
我想转换 <1 x 8 cell> 的字符
'111001' '00' '111000' '01' '1111' '10' '11101' '110'
到 <1 x (length bitcode)> 的 <1 x 8 cell> 双打
[111001] [00] [111000] [01] [1111] [10] [11101] [110]
我怎样才能做到这一点?
这是一个单线解决方案:
a=num2cell(str2double(s))
s = {'111001', '00', '111000', '01', '1111', '10', '11101', '110'};
d = cellfun(@(c_) c_ - '0', s, 'UniformOutput', false);
'01234' - '0'
将给出 1 x 5 双矩阵[0, 1, 2, 3, 4]
,因为'01234'
实际上是char(['0', '1', '2', '3', '4'])
,字符之间的减号运算将给出它们的 ASCII 码之间的运算。
试试这个:
s = {'111001','00','111000','01','1111','10','11101','110'}
num = str2num(str2mat(s));
尝试使用str2num
将 char 数组(字符串)转换为数字。
如果要将数字解释为二进制(以 2 为底)数字,请尝试使用bin2dec
.