Separate the digits in a hex number

I want to use the digits from hex numbers as indices to a lookup table. Eg: if the number is A9, A corresponds to the row of the lookup table and 9 corresponds to the column, so that I can pick up the value of the cell at the intersection of this row and column.
How can I separate 'A' and '9' in hex?

 Respuesta aceptada

Walter Roberson
Walter Roberson el 18 de Feb. de 2017
>> sscanf('A9', '%1x')
ans =
10
9

3 comentarios

fiona rozario
fiona rozario el 19 de Feb. de 2017
Thank you...how can I read these into separate variables? Eg: 10 should be stored in r and 9 in c...
rc = sscanf('A9', '%1x');
r = rc(1);
c = rc(2);
fiona rozario
fiona rozario el 19 de Feb. de 2017
Thank you, so much!

Iniciar sesión para comentar.

Más respuestas (1)

John D'Errico
John D'Errico el 18 de Feb. de 2017
Editada: John D'Errico el 18 de Feb. de 2017
If you want the digits as an index into a table, then since indexing is 1-based in MATLAB, you want 'A' to map to 11, '9' maps to 10, '0' to 1, etc.
This will do:
H = 'F5A9';
[~,ind] = ismember(H,'0123456789ABCDEF')
ind =
16 6 11 10

Etiquetas

Preguntada:

el 18 de Feb. de 2017

Comentada:

el 19 de Feb. de 2017

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by