convert binary string into hex
46 views (last 30 days)
Show older comments
i need to convert this binary string [ '0101010011101010'] into hex or decimal
but in 2^4 mean (i need to convert 4bit by 4bit) not all number
0 Comments
Accepted Answer
Walter Roberson
on 3 Dec 2020
lookup = containers.Map(cellstr(dec2bin(0:15,4)),cellstr(dec2hex(0:15)));
binary_string = '0101010011101010';
output = cellfun(@(S) lookup(S), cellstr(reshape(binary_string, 4, []).')).';
This code assumes that binary_string is a multiple of 4 bits.
This is definitely not the only way to do the task. It has the advantage, though, that it does not need to convert the inputs into numeric form.
Another way:
output = cell2mat(regexprep(cellstr(reshape(binary_string,4,[]).'), cellstr(dec2bin(0:15,4)), cellstr(dec2hex(0:15)),'once').');
0 Comments
More Answers (1)
Stephen23
on 3 Dec 2020
str = '0101010011101010';
fun = @(s)dec2hex(bin2dec(s));
out = regexprep(str,'.{1,4}(?=(.{4})*$)','${fun($&)}')
0 Comments
See Also
Categories
Find more on Time Series in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!