Hex 01A9 to 16-binary?
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
WARRIOR24
il 16 Dic 2020
Modificato: Stephen23
il 17 Dic 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 Commenti
Risposta accettata
Walter Roberson
il 16 Dic 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 Commenti
Più risposte (2)
James Tursa
il 16 Dic 2020
Modificato: James Tursa
il 16 Dic 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 Commenti
Vedere anche
Categorie
Scopri di più su Logical in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!