Hex 01A9 to 16-binary?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
WARRIOR24
el 16 de Dic. de 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 comentarios
Respuesta aceptada
Walter Roberson
el 16 de Dic. de 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 comentarios
Más respuestas (2)
James Tursa
el 16 de Dic. de 2020
Editada: James Tursa
el 16 de Dic. de 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 comentarios
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!