fork(70) download
  1. #include <stdio.h>
  2.  
  3. int fromHex(char c)
  4. {
  5. if (c >= '0' && c <= '9')
  6. return c - '0';
  7. if (c >= 'a' && c <= 'f')
  8. return 10 + (c - 'a');
  9. if (c >= 'A' && c <= 'F')
  10. return 10 + (c - 'A');
  11. return -1; // unexpected char
  12. }
  13.  
  14. int main()
  15. {
  16. char a[] = "b159";
  17. int inHex[3];
  18. inHex[0] = fromHex(a[0]);
  19. inHex[1] = fromHex(a[1]) * 16 + fromHex(a[2]);
  20. inHex[2] = fromHex(a[3]);
  21. printf("%d %d %d\n", inHex[0], inHex[1], inHex[2]);
  22. printf("0x%x 0x%x 0x%x\n", inHex[0], inHex[1], inHex[2]);
  23. }
  24.  
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
11 21 9
0xb 0x15 0x9