Hex 01A9 to 16-binary?
Show older comments
I am trying to convert this input 01A9 into binary
4bit Hex input
01A9
16bit Binary Output
0000 0001 1010 1001
**no spaces
Accepted Answer
More Answers (2)
No loops, no padding, works correctly for any number of hex digits (not just 16 bits):
H = '01A9';
B = reshape(dec2bin(sscanf(H,'%1x'),4).',1,[])
James Tursa
on 16 Dec 2020
Edited: James Tursa
on 16 Dec 2020
E.g., if H is not too big:
H = '01A9';
B = dec2bin(hex2dec(H),numel(H)*4)
Otherwise you will need some form of a loop (explicit or hidden in a function call). E.g.,
C = arrayfun(@(h)dec2bin(hex2dec(h),4),H,'uni',false);
B = [C{:}]
Categories
Find more on Logical 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!