Цитата(Acvarif @ Mar 24 2016, 23:37)

Имеется длинная bin строка. Нужно ее преобразовать в hex формат
Код
% Тест преобразования бинарной строки в hex
bin_str = '0101101111010101010010101001011001011011110101010100101010010110';
bin_str = reshape(bin_str, [], 2);
hex_str_t = zeros(1,2);
for i = 1:2
bin_str_t = bin_str(:,i);
% преобразования строки в hex
hex_str = dec2hex(bin2dec(bin_str_t'));
hex_str_t(1,i) = hex_str;
end
fprintf(' %s\n', hex_str);
fprintf('\n');
fprintf(' %s\n', hex_str_t);
fprintf('\n');
Дело в том, что бинарная строка должна быть не более 52 бит.
Поэтому приходится разбивать ее на 2.
Не получается в цикле записать результат преобразования hex_str в матрицу hex_str_t
Подскажите пожалуйста где ошибка.
можно так
hex_str_t = [];
for i = 1:2
bin_str_t = bin_str(:,i);
% преобразования строки в hex
hex_str = dec2hex(bin2dec(bin_str_t'));
hex_str_t = [hex_str_t hex_str];
end
а еще лучше
hex_str = strjoin(cellstr(dec2hex(bin2dec(bin_str'))), '');
или
bin_str = '0101101111010101010010101001011001011011110101010100101010010110';
hex_str = reshape(dec2hex(bin2dec(reshape(bin_str, [], 2)'))', 1, []);
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.