Autor Tema: pregunta sobre variables sin signo  (Leído 1853 veces)

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

Desconectado hqv

  • PIC12
  • **
  • Mensajes: 70
pregunta sobre variables sin signo
« en: 27 de Octubre de 2005, 23:47:00 »
hola amigos:

tengo el siguiente problema:

defino una variable sin signo y le asigno el valor 0xB0 y luego a esa variable le realizo un & con 0xff,

y el resultado que me entrega es -80 y yo espero el B0 es decir el mismo valor.

unsigned y=0xb0;
y= (y & 0xff);
printf("y=%d",y);

y es y=-80

otra consulta es sobre :

shift_left...solo mueve bytes o se puede mover bits???
 gracias

hqv

Desconectado El_Coach

  • PIC12
  • **
  • Mensajes: 79
RE: pregunta sobre variables sin signo
« Respuesta #1 en: 28 de Octubre de 2005, 02:51:00 »
Lo de la variable te sale -80 porque estas haciendo el printf con %d y con eso interpretas el dato como un entero con signo.
Tienes que poner %X para que te salga B0 , o %u para que salga su valor entero sin signo correspondiente. Sonrisa
"Hazlo o no lo hagas, pero nunca lo intentes"

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
RE: pregunta sobre variables sin signo
« Respuesta #2 en: 28 de Octubre de 2005, 13:06:00 »
Shift_Left() desplaza todo el byte, pero si quieres obtener el estado de un bit solamente te conviene Bit_test(), que es mejor que rotarlo y luego hacerle un and contra una mascara...Sonrisa GiganteSonrisa Gigante
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado hqv

  • PIC12
  • **
  • Mensajes: 70
RE: pregunta sobre variables sin signo
« Respuesta #3 en: 28 de Octubre de 2005, 21:18:00 »
gracias a los dos por las respuestas son de gran ayuda..

hqv


 

anything