fork download
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5. // para loop "for"
  6. int i;
  7.  
  8. // area de entrada
  9. char hex[3];
  10.  
  11. // area de saida
  12. char text[10];
  13.  
  14. // variaveis de conveniencia
  15. char ch, high, low;
  16.  
  17. // constante caracter usas aspas simples (apostrofo), e '\xNN'
  18. hex[0] = '\x69';
  19. hex[1] = '\x20';
  20. hex[2] = '\x31';
  21.  
  22. // trata todos os caracteres da area de entrada
  23. for (i = 0; i < 3; i++)
  24. {
  25. // pega um caracter da area de entrada
  26. ch = hex[i];
  27.  
  28. // converte meio byte 'a esquerda para caracter hexa visivel
  29. high = ch >> 4; // desloca 4 bits 'a direita
  30. high &= 0x0F; // zera os 4 bits da esquerda
  31. if (high > 9) high += 7; // se for maior que 9, ajusta o valor para resultar numa letra
  32. high = high + 0x30; // transforma em caracter visivel
  33.  
  34. // repete para meio byte 'a direita (nao precisa deslocar 4 bits)
  35. low = ch & 0x0F;
  36. if (low > 9) low += 7;
  37. low = low + 0x30;
  38.  
  39. // transfere para area de saida
  40. text[2*i] = high;
  41. text[2*i+1] = low;
  42. }
  43.  
  44. text[2*i] = 0; // para delimitar string
  45.  
  46. printf("The value of decimalNumber is %s\n",text);
  47. }
Success #stdin #stdout 0s 2168KB
stdin
1
stdout
string hexadecimal: 692031