Ver Mensaje Individual
  #6 (permalink)  
Antiguo 12/09/2012, 12:34
ingeday
 
Fecha de Ingreso: noviembre-2008
Mensajes: 89
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Operación lógicas con signos negativos (bit a bit)

Listo... Resuelto. Lo que sucede es lo siguiente... Está representando el numero negativo con completo a 2...


Cita:

FORMA COMPLEMENTO A 2

El complemento a 2 de un numero binario se obtiene tomando el complemento a 1, y sumándole 1 al bit menos significativo. A continuación se ilustra este proceso para el numero 1001 = 9


Complemento a dos
Figura 15: Complemento a 2

Cuando se agrega el bit de signo 1 al MSB, el numero complemento a 2 con signo se convierte en 10111 y es el numero equivalente al - 9.
Extraido de: http://www.ladelec.com/teoria/electr...omplemento-a-2


En conclusión...
>>> ~73 & 255 = 182 Cómo sucede?
Código:
DEC                BIN              
~73        ~ 01001001      (NEGADO)   10110110
255            11111111

Operación &   

1 0 1 1 0 1 1 0
1 1 1 1 1 1 1 1
1 0 1 1 0 1 1 0  =>  (DEC)  182

Y ahora, para que de 183 (Usamos el Complemento a 2, como se explica en http://www.ladelec.com/teoria/electr...omplemento-a-2):


Código:
Convertirmos a binario inicialmente el 73 (positivo)
-73   -->  1001001

   0110110
+        1
 1 0110111    El primer  1 se le agrega, según la teoría... (indica que el número negativo)

   10110111
Entonces -73 & 255

Código:
  10110111 
& 11111111 
  10110111   -->  183    ;)

Fácil......

Última edición por ingeday; 12/09/2012 a las 13:42