10-22-2009 06:37 PM
Bueno, tengo un problemilla. Estoy usando una DAQ (USB-6509) con la cual leo los datos de ciertos puertos, estos los almaceno en unas variables para utilizarlas en unas comparaciones, el problema es que los datos que leo aparecen en decimal y yo deseo que esten en Hexadecimal, hay alguna manera o alguna funcion que convierta de decimal a hexadecimal??
Saludos...
Roberto M.
10-23-2009 12:22 AM
No hay que confundir el valor de un dato con su representación: el mismo dato puede verse tanto como 165 (decimal) así como A5 (hexadecimal), 245 (octal) y 10100101 (binario) sin modificar su valor. Igualmente puedes comparar una variable con valores en exadecimal sin problemas:
int a;
if (a < 0xA5) {
//.......
}
Ahora bien, si tu problema es simplemente la representación en la pantalla de tus resultados, esta discusión puede serte de utilidad.
Si por el otro lado quieres obtener un texto con la representación en hexa de tus valores puedes usar sprintf (string, "0x%x", number); que produce el código estándard "0xA5" si 'number' tiene el valor 165.
Al final te informo que hay una tabla para hispanohablantes que puede serte de utilidad si no quieres escribir en inglés.
10-23-2009 11:54 PM
Muchas gracias tocayo, la primera opcion es la que requiero, no sabia que fuera tan sencillo. Pense que habria que hacer alguna conversion o algo así.
Muchas gracias por tu soporte.
Saludos...
Roberto M.