Autor Tema: Como comvertir Ascii a Hex  (Leído 4141 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Medusa

  • PIC18
  • ****
  • Mensajes: 252
Como comvertir Ascii a Hex
« en: 03 de Mayo de 2010, 17:41:57 »
Hola, necesito converir una cadena de caracteres ascii a su respectivo valor Hex:

Código: [Seleccionar]
Caracteres Ascii = "485C"

4 = 34
8 = 38
4 = 35
C = 43

Valor deseado Hex = "34 38  35 43" 

Alguien me podria decir como hacerlo??

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Como comvertir Ascii a Hex
« Respuesta #1 en: 03 de Mayo de 2010, 19:08:05 »
Hola.

Y no es solo cambiar el formato?
El papel lo aguanta todo

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Como comvertir Ascii a Hex
« Respuesta #2 en: 03 de Mayo de 2010, 19:38:06 »
long num;
sscanf_s("485C", "%x", &num);

espero q te sirva, saludos!!
« Última modificación: 03 de Mayo de 2010, 19:41:02 por gera »

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado Medusa

  • PIC18
  • ****
  • Mensajes: 252
Re: Como comvertir Ascii a Hex
« Respuesta #3 en: 04 de Mayo de 2010, 23:39:28 »
Gracias..

Desconectado ariznaf

  • PIC10
  • *
  • Mensajes: 23
Re: Como comvertir Ascii a Hex
« Respuesta #4 en: 06 de Mayo de 2010, 06:54:37 »
¿Y esa función para qué compilador es?
En el manual del C CCS no la encuentro por ningún lado version (4.104).

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Como comvertir Ascii a Hex
« Respuesta #5 en: 06 de Mayo de 2010, 13:45:42 »
Si no me equivoco es estandar de la libreria stdio.h. No estoy seguro si CCS la implementa, si no habria q usar otra como sscans, o sprintf.
saludos!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado ariznaf

  • PIC10
  • *
  • Mensajes: 23
Re: Como comvertir Ascii a Hex
« Respuesta #6 en: 06 de Mayo de 2010, 17:04:46 »
Pues entonces va a ser que CCS no la implementa.

Sí que es standar en stdio, pero en un compilador ANSI C standar, CCS no lo es.
No he encontrado ninguna función scanf en el manual de CCS, así que me imagino que no las han implementado.

Otra cosa más que no me gusta ni un pelo de este compilador.

Desconectado bigluis

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 511
    • Tutoriales de Qt C++
Re: Como comvertir Ascii a Hex
« Respuesta #7 en: 09 de Mayo de 2010, 00:15:45 »
Ningun Microcontrolador trabaja con codigo ASCII, hex, decimal u octal, ellos sólo trabajan en binario. Es decir, que una cadena de caracteres ASCII no es nadamas que un arreglo de valores en binario, pero el compilador se encarga de realizar las respectivas conversiones del valor que nosotros escribamos a binario.

Por ejemplo:

Código: [Seleccionar]
char Caracter[] = "485C" ;
Es equivalente a
Código: [Seleccionar]
char Caracter[] ={0x34,0x38,0x35,0x43,0x0};
Es decir que si tu llamas a Caracter[3], que en este caso es C en ASCII sería 0x43 en hexadecimal.

si quieres pasar de ASCII a decimal simplemente tienes que restar la variable en ASCII menos 0x30 hexadecimal (el equivalente a 0 ASCII).

Código: [Seleccionar]
valor=Caracter[0]-'0';
ya que Caracter[0] es 4 en ASCII o 0x34 en hexadecimal el valor será igual a 0 decimal.
Tutoriales de Qt C++

No es necesario que hagamos Grandes cosas, sino que lo que hagamos sea importante.

SI la NECESIDAD es la MADRE del CONOCIMIENTO, SEGURAMENTE la PEREZA su TÍA.

Cuando el ARTE requiere de PRECISION le llamamos CIENCIA