Download 2^n - Erika Vilches

Document related concepts

Representación de números con signo wikipedia , lookup

Complemento a dos wikipedia , lookup

Operador a nivel de bits wikipedia , lookup

Extensión de signo wikipedia , lookup

Coma flotante wikipedia , lookup

Transcript
Operaciones Aritméticas
en Números con Signo
M. en C. Erika Vilches
Parte 2
Negación
• La negación es la operación de convertir un
numero positivo en su equivalente negativo
o un numero negativo en su equivalente
positivo.
• Se obtiene mediante el complemento a 2.
Empezar con → 01001
Negar (complemento a 2) → 10111
Negar de nuevo → 01001
= +9
= -9
= +9
Caso especial del
Complemento a 2
• Siempre que un numero con signo tenga un
1 en el bit de signo y 0’s en el total de los
bits de magnitud su equivalente decimal es
-2^n, donde n es el numero de bits en la
magnitud.
1000 = -2^3 = -8
10000 = -2^4 = -16
100000 = -2^5 = -32
Fórmula Alternativa para
Rango en Comp. a 2
• Rango completo de valores con signo que se
pueden representar en complemento a dos
teniendo n bits de magnitud
-2^n a +((2^n) -1)
• Hay un total de 2^(n+1) valores distintos,
incluyendo el cero.
Ejemplo:
Obtener todos los números con signo que
pueden ser representados en 4 bits usando
el sistema de complemento a 2 (3 bits de
magnitud, n = 3)
Valor Decimal
Binario con signo usando complemento a 2
+7
(2^3)-1 0111
+6
+5
+4
+3
+2
+1
0
-1
-2
0110
0101
0100
0011
0010
0001
0000
1111
1110
-3
-4
-5
-6
1101
1100
1011
1010
-7
-8
-2^3
1001
1000
Tip: Iniciar en el menor valor e ir sumando 1 en cada paso
•
Entero sin signo → 0 a 2^n - 1
n = número de bits
•
Entero con signo (comp. a 2) →
-(2^(n-1)) a 2^(n-1)-1
n = número de bits
•
Entero con signo (comp. a 2) → Alternativo
-(2^n) a (2^n)-1
n = número de bits de magnitud
•
Entero con signo (comp. a 1 o signo-magnitud) →
-(2^(n-1)-1) a 2^(n-1)-1
n = número de bits
Recordar: Hay dos representaciones del cero
Condición de Overflow
• Se puede dar cuando ambos operandos son
positivos o ambos son negativos.
+9
+8
Signo Incorrecto
0 1001
0 1000
1 0001
Magnitud Incorrecta
La respuesta debería ser +17, pero la magnitud 17
requiere mas de 4 bits y por lo tanto → overflow
• El resultado es incorrecto
• Se detecta su aparición analizando el bit de
signo del resultado y comparandolo con el
de los operandos
Métodos (Resumen)
• Resta binaria (comp. a 2) → minuendo +
comp. a 2 sustraendo + descartar carry
• Resta binaria (comp. a 1) → minuendo +
comp. a 1 sustraendo + carry
• Resta binaria (magnitud-signo) → restar al
operando de mayor magnitud el de menor
magnitud. El resultado tiene el signo del de
mayor magnitud.