I want to convert two ASCII bytes to one hexadecimal byte.
eg.
0x30 0x43 => 0x0C , 0x34 0x46 => 0x4F
...
The ASCII bytes are a number between 0
and 9
or a letter between A
and F
(upper case only), so between 0x30
... 0x39
and 0x41
... 0x46
I know how "to construct" 0x4F
with the numbers 0x34
and 0x46 : 0x4F = 0x34 * 0x10 + 0x46
So, in fact, i would to convert one ASCII byte in hexadecimal value.
For that, i can build and array to assign the hexadecimal value to the ASCII char :
0x30 => 0x00
0x31 => 0x01
...
0x46 => 0x0F
But, maybe it have a most ??proper ??solution.
The program will be run on an AVR μC and is compiled with avr-gcc
, so scanf()
/ printf()
solutions aren't suitable.
Have you got an idea ?
Thanks
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…