¡Esta es una revisión vieja del documento!
Tabla de Contenidos
Operaciones aritméticas: Complemento a 1
Suma C1
La suma es simple, la hacemos como binario puro. En el siguiente ejemplo debemos sumar en C1 5 bits, por ejemplo 7-510. 7 es positivo asi que en C1 queda exactamente igual que en SM, 00111. Ahora bien, en una computadora no se resuelve una resta sino que se cambia el segundo valor a negativo para poder hacer una suma. Entonces queda 7+(-5) que es equivalente y tiene que dar el mismo resultado. Pasemos entonces -5 a C1
Y hacemos la suma (¡ojo!)
Estamos trabajando en 5 bits, el resultado debe dar en 5 bits. Vamos a resolver la suma tomando todos los bits, es decir el signo también se debe sumar.
Vemos que se va propagando un acarreo hasta el ultimo bit, o mejor dicho el más significativo. Si el carry se propaga más allá del tamaño de nuestra representación se produce una condición llamada “end-around carry” ¿Ok, entonces qué pasa con el acarreo? En C1 si el bit mas significativo produce acarreo, este vuelve a entrar sumando al bit menos significativo:
El resultado es 00010
, el bit 4 tiene el valor 0, quiere decir que es positivo, entonces resolvimos la suma en C1, pero al ser positivo, la representación es la misma para SM, y podemos decir directamente cuanto vale:
00010 C1 —> 2(10)
Suma C2
La operación suma en complemento a 2 es muy similar a complemento a 1, pero veamos algunos detalles a tener en cuenta con ejemplos. Hagamos la operación -40-35(10) en C2, en este caso ambos números son negativos y el resultado debe quedar negativo
Paso 0) Pasamos ambos números a C2
Sino recordas como pasar a complemento a 2 consulta acá
Paso 1) Bien, ahora que tenemos ambos números en C2, hacemos la suma.
Y que sucede con el acarreo, en C2 cuando el bit más significativo produce acarreo a diferencia de C1, este se pierde.
¿Cómo podemos corroborar que el resultado está bien? ¡Aplicando C2 nuevamente!
(2846)
you see this when javscript or css is not working correct