Lenguajes de programación para PC => C, C#, C++ => Mensaje iniciado por: antoniojdobarro en 18 de Febrero de 2011, 15:14:36
Título: Convertir a hexadecimal
Publicado por: antoniojdobarro en 18 de Febrero de 2011, 15:14:36
Bien, supongamos que tengo una variable llamada "contador" la cual tiene asignado un determinado valor entre -100 y 100.
Como hago para obtener el valor de la variable "contador" en hexadecimal.
Título: Re: Convertir a hexadecimal
Publicado por: LABmouse en 18 de Febrero de 2011, 16:24:50
Bueno, primer debemos tener claro que:
Una variable de 8 bits debe ser declarada tipo char.
Usando el modificador unsigned, decimos al compilador que serán almacenados datos sin signo, lo cual nos da 8 bits de datos, es decir... desde 0 hasta 255 ( 0x00 ... 0xFF).
Usando el modificador signed, decimos al compilador que serán almacenados datos con signo, lo cual nos da 7 bits de datos y 1 de signo. El bit sacrificado para el signo es el MSB del byte. Con lo anterior tenemos que en una variable tipo char que es de 8 bits si se usa el modificador signed, solo nos deja 1 bit de signo y 7 de datos.
Si quieres ver en hex una variable signed char, pasas el numero decimal a hex como ya sabes y luego colocas el bit MSB en 1 si es negativo o en 0 si es positivo.
SALUDOS!
Título: Re: Convertir a hexadecimal
Publicado por: antoniojdobarro en 18 de Febrero de 2011, 16:30:58
Bien, la teoría muy bien, pero y la práctica.
Supongamos tenemos la variable "contador" cuyos valores varían entre -100 y 100, como hago para convertir el valor almacenado a hexadecimal, y guardarlo en otra variable?
Título: Re: Convertir a hexadecimal
Publicado por: LABmouse en 18 de Febrero de 2011, 16:49:41
Código: C
signedchar variable1=-100;
signedchar variable2;
void main(void){
variable2=variable1;
}
Título: Re: Convertir a hexadecimal
Publicado por: antoniojdobarro en 18 de Febrero de 2011, 17:21:19
Ummm..
Bien, supongamos que tengo una variable state.X que viene de la captura de la coordenada x de un joystick.