notación de complemento a dos es una forma de expresar los números negativos utilizando bits binarios. Por instrucciones de ordenador son en binario , complemento a dos es necesario en la programación. Es significativamente más rápido que otras formas de la aritmética porque no se requiere traducción . Los pasos siguientes muestran cómo utilizar el complemento a dos en un poco de cambio. Instrucciones
1
Estudio notación binaria ordinaria. El lugar más a la derecha representa 2 ^ 0 o 1 y cada lugar sucesiva a la izquierda representa una fuente adicional de 2 . Por lo tanto , el segundo lugar a la derecha es 2 ^ 1 o 2, en el tercer lugar a la derecha es 2 ^ 2 o 4.
2
Convertir un valor binario de un valor decimal. Vamos a resumir todas las potencias de 2 que tienen un 1 en la posición correspondiente del valor binario. Por ejemplo , si el valor binario es 1101 , entonces el equivalente decimal es 1x2 ^ 3 + 1x2 + 0x2 ^ 2 ^ 1 + 1x2 ^ 0 = 8 4 0 1 = 13 .
3
Examine la notación de complemento a dos . El lugar más a la izquierda es un bit de signo con un 1 indica un número negativo y los otros bits son bits de magnitud .
4
Calcular un valor en notación de complemento de dos del mismo como un valor binario ordinario si el dígito más a la izquierda es 0 . Si el dígito más a la izquierda es un 1 , 2 ^ n se resta del valor binario corriente, donde n es el número de dígitos en el valor . Por ejemplo , en el paso 2 , 1101 es 13 en notación binaria ordinaria . En la notación de complemento a dos , sin embargo , 1101 = 13 a 2 ^ 4 = 13 - 16 = -3
5
Observar el efecto del valor del complemento a dos en un poco de cambio. . El bit de signo se conserva , por lo que un desplazamiento de bits a la derecha por n puntos de un valor de complemento a dos se divide ese valor por 2 ^ n y redondear a la baja . Del mismo modo, un desplazamiento de bits a la izquierda del valor del complemento a dos se multiplique ese valor por 2 ^ n siempre que no se desborde.
6
Considere un cambio de bits en un valor específico de complemento a dos . Para un desplazamiento de bits a la izquierda , 1101 ( -3 ) se convierte en 1010 ( -6 ) . Un desplazamiento de bits a la derecha hará que 1.101 ( -3 ) se convierten en 1.110 ( -2 ) .