[C] declarar una variable hexadecimal

____22 Mensajes publicados 101 Estado Miembro -  
stephbb75 Mensajes publicados 620 Fecha de registro   Estado Miembro Última intervención   -
Hola,

¿cómo declarar en C una variable hexadecimal?

int x = 0x10;

¿qué poner en lugar de int? ¿byte?

¿vale x 10 o 16 en este caso?

gracias por la ayuda
Configuración: Windows XP Internet Explorer 7.0

2 respuestas

fiddy Mensajes publicados 441 Fecha de registro   Estado Colaborador Última intervención   1 847
 
Hola,
Tu variable no tendrá una base particular. En memoria, el número se almacena en binario.
Es al momento de mostrarlo que puedes solicitar la visualización en una base (16, por ejemplo).
Cuando haces int x = 0x10; le indicas al compilador que el número que ingresas está en base 16. Él lo almacenará en binario en memoria. Si pides una visualización en decimal (printf("%d",x); obtendrás 16.
Si pones printf("%x",x); será 10 (visualización hexadecimal).
--

Google es tu amigo
13
stephbb75 Mensajes publicados 620 Fecha de registro   Estado Miembro Última intervención   122
 
Hola,

No puedes declarar una variable Hexa en C, declaras enteros (int, long, ...) o flotantes, dobles ...
Luego puedes trabajar con el hexa.

En tu caso, int x = 0x10; tienes el valor Hex 10 dentro, lo que corresponde a 16 en base 10, "10000" en binario ....

Steph
2