Hex 01A9 to 16-binary?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
WARRIOR24
am 16 Dez. 2020
Bearbeitet: Stephen23
am 17 Dez. 2020
I am trying to convert this input 01A9 into binary
4bit Hex input
01A9
16bit Binary Output
0000 0001 1010 1001
**no spaces
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 16 Dez. 2020
H = '01A9';
dec2bin(sscanf(H, '%4x'),16)
Note that the result will be character.
H can have more than 4 characters, and will be interpreted 4 characters at a time from the beginning . So if H is not an exact multiple of 4 characters, this particular algorithm will not implicitly pad from the begining with 0's -- only the last group will be 0 padded.
dec2bin(sscanf('01A9876', '%4x'),16)
This was interpretered as 01A9 (0)876.
If you needed to be padded with leading 0s implicitly then that could certainly be programmed.
0 Kommentare
Weitere Antworten (2)
James Tursa
am 16 Dez. 2020
Bearbeitet: James Tursa
am 16 Dez. 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{:}]
0 Kommentare
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!