Representación de Datos Numéricos
NÚMEROS ENTEROS
Dr. Yván Jesús Túpac Valdivia
Abril 2025
Objetivos
Representación de
datos numéricos
Enteros con signo
Complemento a 2
Aritmética de números
enteros
Adición y substracción
En esta unidad se espera:
Multiplicación de enteros
División de enteros Entender la diferencia entre la forma como los números se representan
(formato en binario) y los algoritmos usados para las operaciones aritméticas
básicas
Comprender la representación complemento a 2
Hacer una revisión de las técnicas para operaciones aritméticas en
complemento a 2.
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 2/41]
Contenido
Representación de
datos numéricos
Enteros con signo
Complemento a 2
Aritmética de números
enteros 1 Representación de datos numéricos
Adición y substracción
Multiplicación de enteros
Enteros con signo
División de enteros
Complemento a 2
2 Aritmética de números enteros
Adición y substracción
Multiplicación de enteros
División de enteros
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 3/41]
Representación de datos numéricos
Unidad Aritmético Lógica
Representación de
datos numéricos Parte del sistema de computación que realiza los cálculos aritméticos y
Enteros con signo
Complemento a 2 lógicos en los datos
Aritmética de números
enteros Los demás elementos: unidad de control, I/O, registros, memoria, ponen
Adición y substracción
Multiplicación de enteros
datos en el ALU, configuran la operacipon a realizar y recogen resultados del
División de enteros mismo.
En muchos sentidos, el ALU es el core del sistema de computación.
Control
Flags
Signals
ALU
Operand Result
Registers Registers
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 4/41]
Representación de datos numéricos
¿Cómo representar números en bits?
Representación de
datos numéricos
Enteros con signo No se cuenta con signos (+, −) ni punto decimal (.)
Complemento a 2
Aritmética de números
Sólo se cuenta con los bits 0, 1
enteros
Adición y substracción
Con bits se puede representar valores numéricos siguiendo un orden
Multiplicación de enteros
División de enteros
10101001 = 1 × 27 + 0 × 26 + 1 × 25 + 0 × 24 + 1 × 23 + 0 × 22 + 0 × 21 + 1 × 20
MSB LSB
(most significant bit) (least significant bit)
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 5/41]
Representación de datos numéricos
Números enteros sin signo
Representación de
datos numéricos Enteros sin signo:
Enteros con signo
Complemento a 2 Si queremos representar valores enteros con 8−bits se podrían representar
Aritmética de números 256 valores diferentes (0, 255)
enteros
Adición y substracción
Multiplicación de enteros
00000000 = 0 Con forma genérica:
División de enteros
00000001 = 1
00101001 = 41 n−1
X
10000000 = 128 A= 2i ai (1)
i=0
11111111 = 255
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 6/41]
Representación de datos numéricos
Números enteros con signo
Representación de
datos numéricos Bit de signo:
Enteros con signo
Complemento a 2 +18 = 00010010
Aritmética de números
enteros
-18 = 10010010
Adición y substracción
Multiplicación de enteros
donde se cumple
División de enteros
n−2
X
2i ai si an−1 = 0
A= i=0 (2)
n−2
X
− 2i ai si an−1 = 1
i=0
La principal dificultad es que se tiene dos representaciones para 0
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 7/41]
Representación de datos numéricos
Números enteros con signo
Representación de
datos numéricos Representación biased :
Enteros con signo
Complemento a 2 Si a la representación binaria sin signo se le resta un valor fijo, se puede
Aritmética de números hacer que parte de los patrones de bits representen valores negativos. El
enteros
Adición y substracción valor que suele restarse es 2n−1 − 1. Así, la representación cumple la
Multiplicación de enteros
División de enteros siguiente expresión:
n−1
X
A= 2i ai − 2n−1 − 1 (3)
i=0
Esta representación es aproximadamente centrada en 0, que aunque requiere
tratamientos adicionales para la aritmética de enteros, permite comparar
números mediante barrido de bits de izquierda a derecha.
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 8/41]
Representación de datos numéricos
Números enteros con signo
Representación de
datos numéricos Complemento a 2:
Enteros con signo
Complemento a 2 - Bits binarios cuya fórmula general es:
Aritmética de números
enteros n−2
X
A = −2n−1 an−1 + 2i ai
Adición y substracción
Multiplicación de enteros (4)
División de enteros
i=0
- Si el MSB an−1 = 0, el número es positivo y su representación coincide con la
de “bit de signo”:
n−2
X
A= 2i ai ∀A ≥ 0
i=0
n−1
y sus valores van desde 0 hasta 2 − 1.
- Si MSB an−1 = 1, el número es negativo, tomando la forma 1xxxxxxxxx,
con valores desde −1 hasta −2n−1
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 9/41]
Representación de datos numéricos
Números enteros con signo
Representación de
datos numéricos Decimal Bit de signo Complemento a 2 Biased
Enteros con signo
+8 − − 1111
Complemento a 2
+7 0111 0111 1110
Aritmética de números +6 0110 0110 1101
enteros
Adición y substracción
+5 0101 0101 1100
Multiplicación de enteros +4 0100 0100 1011
División de enteros +3 0011 0011 1010
+2 0010 0010 1001
+1 0001 0001 1000
+0 0000 0000 0111
−0 1000 − −
−1 1001 1111 0110
−2 1010 1110 0101
−3 1011 1101 0100
−4 1100 1100 0011
−5 1101 1011 0010
−6 1110 1010 0001
−7 1111 1001 0000
−8 − 1000 −
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 10/41]
Representación de datos numéricos
Complemento a 2 – Ejemplos
Representación de
datos numéricos Considere que cantidad de bits n = 8
Enteros con signo
Complemento a 2
-128 64 32 16 8 4 2 1
Aritmética de números
enteros -125
Adición y substracción
Multiplicación de enteros
-120
División de enteros
1
-1
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 11/41]
Representación de datos numéricos
Complemento a 2 – Ejemplos
Representación de
datos numéricos Considere que cantidad de bits n = 8
Enteros con signo
Complemento a 2
-128 64 32 16 8 4 2 1
Aritmética de números
enteros -125 1 0 0 0 0 0 1 1
Adición y substracción
Multiplicación de enteros
-120 1 0 0 0 1 0 0 0
División de enteros
1 0 0 0 0 0 0 0 1
-1 1 1 1 1 1 1 1 1
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 12/41]
Representación de datos numéricos
Complemento a 2 – aumento del tamaño de palabra en bits
Representación de
datos numéricos Si quisiéramos aumentar el tamaño de palabra (extensión de rango) de 8 bits
Enteros con signo
Complemento a 2
a 16 bits por ejemplo.
Aritmética de números +18 = 00010010 (twos complement, 8 bits)
enteros
Adición y substracción +18 = 0000000000010010 (twos complement, 16 bits)
Multiplicación de enteros
División de enteros - 18 = 11101110 (twos complement, 8 bits)
- 18 = 1111111111101110 (twos complement, 16 bits)
Nótese que se “extiende” el MSB, por lo que a la extensión de tamaño de bits
se le denomina “extensión de signo”
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 13/41]
Representación de datos numéricos
Complemento a 2 – aumento del tamaño de palabra en bits
Representación de
datos numéricos Para demostrar que la extensión de signo funciona, considere una secuencia
Enteros con signo
Complemento a 2
A = an−1 an−2 . . . a1 a0 en complemento 2, es decir que:
Aritmética de números
enteros n−2
X
Adición y substracción
Multiplicación de enteros
A = −2n−1 an−1 + 2i ai
División de enteros i=0
Para A > 0, la extensión de signo funciona. Para A < 0 se construye una
secuencia m-bits donde m > n y se asume que se cumple:
m−2
X n−2
X
−2m−1 am−1 + 2i ai = −2n−1 an−1 + 2i ai
i=0 i=0
y se debe encontrar las condiciones que garantizan esta igualdad
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 14/41]
Representación de datos numéricos
Complemento a 2 – aumento del tamaño de palabra en bits
Representación de
datos numéricos
Enteros con signo
Complemento a 2
m−2
X n−2
X
m−1 i n−1
Aritmética de números −2 + 2 ai = −2 + 2i ai
enteros
i=0 i=0
Adición y substracción
Multiplicación de enteros m−2
X
División de enteros
−2m−1 + 2i ai = −2n−1
i=n−1
m−2
X
2n−1 + 2i ai = 2m−1
i=n−1
n−2
X m−2
X m−2
X
1+ 2i + 2i ai = 1 + 2i
i=0 i=n−1 i=0
m−2
X m−2
X
2i ai = i
2 (ai = 1 de n − 1 a m − 1)
i=n−1 i=n−1
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 15/41]
Representación de datos numéricos
Complemento a 2 – Negación o “cambio de signo”
Representación de
datos numéricos Se aplica el siguiente procedimiento:
Enteros con signo
Complemento a 2 1 Invertir todos los bits, incluido el bit de signo
Aritmética de números
enteros 2 Sumar al resultado el valor “00. . . 01” (con sumador binario)
Adición y substracción
Multiplicación de enteros
División de enteros
Este proceso se denomina operación complemento a 2 de un número entero.
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 16/41]
Representación de datos numéricos
Complemento a 2 – Negación o “cambio de signo”
Representación de
datos numéricos Para demostrar esto, se usa la definición de complemento a 2 de la Eq.4, en la
Enteros con signo
Complemento a 2
cual se cumple para un número binario A = an−1 an−2 . . . a1 a0 que:
Aritmética de números
enteros n−2
X
Adición y substracción
Multiplicación de enteros
A = −2n−1 an−1 + 2i ai
División de enteros i=0
Sea B la negación bitwise an−1 an−2 . . . a1 a0 + 1, aplicando la Eq.4, se tiene:
n−2
X
n−1
B = −2 an−1 + 2i ai + 1 (5)
i=0
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 17/41]
Representación de datos numéricos
Complemento a 2 – Negación o “cambio de signo”
Representación de
datos numéricos y si asumimos que A = −B, se espera que A + B = 0, luego:
Enteros con signo
Complemento a 2
n−2
!
X
Aritmética de números n−1 i
enteros A + B = −(an−1 + an−1 )2 + 2 (ai + ai ) + 1
Adición y substracción i=0
Multiplicación de enteros
n−2
!
División de enteros X
n−1 i
= −2 + 2 +1
i=0
= −2n−1 + 2n−1 − 1 + 1
= −2n−1 + 2n−1
A+B =0
∴ A = −B
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 18/41]
Representación de datos numéricos
Complemento a 2 – Negación o “cambio de signo”
Representación de
datos numéricos Existen los siguientes casos extremos:
Enteros con signo
Complemento a 2
Aritmética de números
enteros
Adición y substracción
Multiplicación de enteros
División de enteros
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 19/41]
Representación de datos numéricos
Complemento a 2 – Ventajas y desventajas
Representación de
datos numéricos La única desventaja de este modelo es:
Enteros con signo
Complemento a 2 Para n bits, que generan 2n patrones diferentes, se tiene:
Aritmética de números 1 2n−1 − 1 valores positivos
enteros
Adición y substracción
2 2n−1 valores negativos
Multiplicación de enteros 3 1 representación para el valor 0
División de enteros
Se ilustra el caso para n = 32 bits:
Expressible Integers
Number
−231 0 231 − 1 line
(a) Two Complement Integers
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 20/41]
Contenido
Representación de
datos numéricos
Enteros con signo
Complemento a 2
Aritmética de números
enteros 1 Representación de datos numéricos
Adición y substracción
Multiplicación de enteros
Enteros con signo
División de enteros
Complemento a 2
2 Aritmética de números enteros
Adición y substracción
Multiplicación de enteros
División de enteros
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 21/41]
Aritmética de números enteros
Aritmética de números enteros con signo
Representación de
datos numéricos Adición: realizada como binarios sin signo, usando un sumador binario de n
Enteros con signo
Complemento a 2 bits sin importar el signo. En un caso normal ocurriría que:
Aritmética de números
enteros
Adición y substracción
A(+) + B(+) = C(+)
Multiplicación de enteros
División de enteros
A(−) + B(−) = C(−)
Puede surgir cambio de signo en adición de números del mismo signo,
indicando ocurrencia de Overflow
A(+) + B(+) = C(−)
A(−) + B(−) = C(+)
Overflow: cuando el resultado “no cabe” en el tamaño de bits de los
operandos y resultado.
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 22/41]
Aritmética de números enteros
Aritmética de números enteros con signo
Representación de
datos numéricos
Enteros con signo
Complemento a 2
Aritmética de números
enteros
Adición: realizada
Adición y substracción
Multiplicación de enteros
como binarios sin
División de enteros signo, usando un
sumador binario de n
bits sin importar el
signo.
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 23/41]
Aritmética de números enteros
Aritmética de números enteros con signo
Representación de
datos numéricos Substracción: se realiza mediante adición de binarios sin signo, cambiando
Enteros con signo
Complemento a 2 el signo del sustraendo.
Aritmética de números
enteros
A − B = A + neg(B)
Adición y substracción | {z }
Multiplicación de enteros
División de enteros
Invertir bits
Sumar 1
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 24/41]
Aritmética de números enteros
Aritmética de números enteros con signo
Representación de
datos numéricos
Enteros con signo
Complemento a 2
Aritmética de números
enteros
Adición y substracción
Multiplicación de enteros
División de enteros
Substracción: se
realiza mediante
adición de binarios
sin signo, negando el
sustraendo.
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 25/41]
Aritmética de números enteros
Aritmética de números enteros con signo – visión geométrica
Representación de
datos numéricos Subtraction Addition Subtraction Addition
Enteros con signo of positive of positive of positive of positive
Complemento a 2 numbers 1111 0000 0001 numbers numbers 000...0 numbers
11...1
Aritmética de números 1110 0010
enteros
−1 0 +1 −1 0
Adición y substracción 1101 −2 +2 0011
Multiplicación de enteros
División de enteros
−3 +3
1100 −4 +4 0100 110...0 −2n−2 2n−2 010...0
−5 +5
1011 −6 +6 0101 n−1
−7 −8 +7 −2n−1 2
1010 0110
1001 011...1
1000 0111 100...0
-9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 −2n−1 2n−1n−1
−1
−2n−1 − 1 2
(a) 4-bit numbers (b) n-bit numbers
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 26/41]
Aritmética de números enteros
Esquema Hardware para adición y substracción de números enteros
Representación de
datos numéricos
Enteros con signo
Complemento a 2
Aritmética de números
k
enteros
x / cin
Adición y substracción
Multiplicación de enteros
División de enteros k
Adder / x±y
k cout
y / k
/
y or y 0
Add’ Sub
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 27/41]
Aritmética de números enteros
Complemento a 2
Representación de
datos numéricos
Enteros con signo
Complemento a 2 Table 1: Tabla de resumen
Aritmética de números
enteros
Propiedad Valor o método
Adición y substracción
n−1
Multiplicación de enteros Rango para n bits Desde −2 hasta 2n−1 − 1
División de enteros
Negación Invertir los bits y sumar 1 al resultado (complemento a 2)
Expansión de bits Agregar bits a la izquierda con el valor MSB del string original
Overflow Cuando el resultado de una suma para un signo, resulta del
otro signo
Adición Uso de un sumador binario
Sustracción A − B = sumar A con el complemento a 2 de B
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 28/41]
Aritmética de números enteros
Multiplicación de enteros
Representación de
datos numéricos Es una operación más compleja que la adición y sustracción
Enteros con signo
Complemento a 2
Existen varios métodos
Aritmética de números
enteros Multiplicación de enteros sin signo
Adición y substracción
Multiplicación de enteros
- Varios productos parciales por cada dígito del multiplicador
División de enteros - Digito = 0 → 0 . . . 0, digito = 1 → producto parcial = multiplicando.
- Sumar los productos parciales (desplazados por la posición del bit multiplicador)
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 29/41]
Aritmética de números enteros
Multiplicación de enteros
Representación de
datos numéricos Multiplicación de enteros sin signo
Enteros con signo
Complemento a 2
Multiplicand
Mn 1 M0
Aritmética de números
enteros
Adición y substracción
Multiplicación de enteros
División de enteros
Add Shift and add
n-bit adder
control logic
Shift right
C An 1 A0 Qn 1 Q0
Multiplier
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 30/41]
Aritmética de números enteros
Multiplicación de enteros
Representación de
datos numéricos START
Enteros con signo
Complemento a 2
Aritmética de números C, A 0
enteros M Multiplicand
Adición y substracción
Q Multiplier
Count n
Multiplicación de enteros
División de enteros
No Yes
Q0 = 1?
C, A A =M
Shift right C, A, Q
Count Count – 1
No Yes
Count = 0? END Product
in A, Q
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 31/41]
Aritmética de números enteros
Multiplicación de enteros
Representación de
datos numéricos Multiplicación de enteros sin signo – Ejemplo
Enteros con signo
Complemento a 2
C A Q M
Aritmética de números
enteros 0 0000 1101 1011 Valores iniciales
Adición y substracción
Multiplicación de enteros
0 1011 1101 1011 Suma Primer
División de enteros 0 0101 1110 1011 Shift ciclo
Segundo
0 0010 1111 1011 Shift ciclo
0 1101 1111 1011 Suma Tercer
0 0110 1111 1011 Shift ciclo
1 0001 1111 1011 Suma Cuarto
0 1000 1111 1011 Shift ciclo
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 32/41]
Aritmética de números enteros
Multiplicación de enteros
Representación de
datos numéricos Multiplicación de enteros en complemento 2
Enteros con signo
Complemento a 2 No funciona directamente como con la suma o substracción de enteros con
Aritmética de números signo (que emplean el sumador binario convencional). Existen varias
enteros
Adición y substracción
opciones para realizar:
Multiplicación de enteros - Opción trivial: Convertir factores a positivos y operar como unsigned int,
División de enteros
tomando el signo de acuerdo a la regla de los signos (en caso de resultado
negativo hallar el complemento 2 del resultado)
- Algoritmo de Booth: preferido para implementaciones reales pues, resulta más
rápido que la opción trivial
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 33/41]
Aritmética de números enteros
Multiplicación de enteros: algoritmo de Booth
Representación de START
datos numéricos
Enteros con signo
Complemento a 2
A 0, Q -1 0
Aritmética de números M Multiplicand
enteros Q Multiplier
Count n
Adición y substracción
Multiplicación de enteros
División de enteros
10 Q0, Q -1 01
11
00
A A - M A A +M
Arithmetic shift
Right: A, Q, Q-1
Count Count - 1
No Yes
Count = 0? END
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 34/41]
Aritmética de números enteros
Multiplicación de enteros: algoritmo de Booth
Representación de START
datos numéricos
Enteros con signo
Complemento a 2
Require: multiplicando, multiplicador, n
A 0, Q -1 0
Aritmética de números M Multiplicand M ←multiplicando, Q ←multiplicador
enteros Q Multiplier count ← n
Count n
Adición y substracción
Multiplicación de enteros
repeat
División de enteros if Q0 Q−1 = 10 then
10 01
A←A−M
Q0, Q -1
end if
11
if Q0 Q−1 = 01 then
A A - M
00
A A +M
A←A+M
end if
ArithmeticShift(AQQ−1 , right, 1)
Arithmetic shift
Right: A, Q, Q-1 count ← count −1
Count Count - 1
until count= 0
resultado en A, Q
No Yes
Count = 0? END
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 34/41]
Aritmética de números enteros
Multiplicación de enteros: algoritmo de Booth
Representación de
datos numéricos Ejemplo 01: multiplicar 3 × 7 (Q=3, M=7)
Enteros con signo
Complemento a 2
A Q Q−1 M
Aritmética de números
enteros 0000 0011 0 0111 Valores iniciales
Adición y substracción
Multiplicación de enteros 1001 0011 0 0111 A←A−M Primer
División de enteros
1100 1001 1 0111 Shift ciclo
1110 0100 1 0111 Shift Segundo
ciclo
0101 0100 1 0111 A←A+M Tercer
0010 1010 0 0111 Shift ciclo
0001 0101 0 0111 Shift Cuarto
ciclo
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 35/41]
Aritmética de números enteros
Multiplicación de enteros: algoritmo de Booth
Representación de
datos numéricos Ejemplo 02: multiplicar −3 × 5 (Q=-3, M=5)
Enteros con signo
Complemento a 2
A Q Q−1 M
Aritmética de números
enteros 0000 1101 0 0101 Valores iniciales
Adición y substracción
Multiplicación de enteros 1011 1101 0 0101 A←A−M Primer
División de enteros
1101 1110 1 0101 Arith Shift ciclo
0010 1110 1 0101 A←A+M Segundo
0001 0111 0 0101 Arith Shift ciclo
1100 0111 0 0101 A←A−M Tercer
1110 0011 1 0101 Arith Shift ciclo
1111 0001 1 0101 Arith Shift Cuarto
ciclo
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 36/41]
Aritmética de números enteros
Multiplicación de enteros: Principio del Algoritmo de Booth
Representación de
datos numéricos Sea el siguiente caso:
Enteros con signo
Complemento a 2
M × (01111010) = M × (26 + 25 + 24 + 23 + 21 )
Aritmética de números
enteros = M × (64 + 32 + 16 + 8 + 2)
Adición y substracción
Multiplicación de enteros
División de enteros
= M × 122
La cantidad de sumas se puede reducir considerando que:
2n + 2n−1 + . . . + 2n−k = 2n+1 − 2n−k
Luego:
M × (01111010) = M × (26 + 25 + 24 + 23 + 21 )
= M × (27 − 23 + 22 − 21 )
= M × (27 − 22 − 21 )
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 37/41]
Aritmética de números enteros
División de enteros
Representación de
datos numéricos Es una operación aún más compleja que la multiplicación
Enteros con signo
Complemento a 2
Su procedimiento es similar a la multiplicacion, pero con substracción y
Aritmética de números
enteros desplazamiento a la izquierda
Adición y substracción
Multiplicación de enteros
División de enteros
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 38/41]
Aritmética de números enteros
División de enteros
Representación de START
datos numéricos
Enteros con signo
Complemento a 2 A 0
M Divisor
Aritmética de números Q Dividend
Count n
enteros
Adición y substracción
Multiplicación de enteros
Shift left
División de enteros
A, Q
A A - M
No Yes
A 0?
Q0 0
Q0 1
A A +M
Count Count - 1
No Yes
Count = 0? END Quotient in Q
Remainder in A
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 39/41]
Aritmética de números enteros
División de enteros
Representación de START
datos numéricos
Enteros con signo Require: divisor, dividendo, count = n
A 0
Complemento a 2
M Divisor A←0
Q Dividend
Aritmética de números
Count n
Q ← dividendo
enteros
Adición y substracción
M ← divisor
Multiplicación de enteros
Shift left repeat
División de enteros
A, Q
shift(AQ, left, 1)
A←A−M
A A - M
if A ≥ 0 then
Q0 ← 1
No Yes
A 0? else
Q0 ← 0
Q0 1
Q0 0 A←A+M
A A +M
end if
count← count −1
Count Count - 1
until count = 0
cociente ← Q, residuo ← A
No Yes
Count = 0? END Quotient in Q
Remainder in A
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 39/41]
Aritmética de números enteros
División de enteros
Representación de
datos numéricos Ejemplo: dividir 7 ÷ 3, (Q = 0111, M = 0011)
Enteros con signo
Complemento a 2
A Q
Aritmética de números
enteros 0000 0111 Valores iniciales
Adición y substracción
0000 111? left shift
Multiplicación de enteros
1101 Sustracción en compl-2 Primer
División de enteros
1101 0000 - 0011 ciclo
0000 1110 Restaurar, 0 → Q0
0001 110? left shift
1101 Sustracción en compl-2 Segundo
1110 0001 - 0011 ciclo
0001 1100 Restaurar, 0 → Q0
0011 100? left shift
1101 Sustracción en compl-2 Tercer
0000 1001 No restaura, 1 → Q0 ciclo
0001 001? left shift
1101 Sustracción en compl-2 Cuarto
1110 0001 - 0011 ciclo
0001 0010 Restaurar, 0 → Q0
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 40/41]
Aritmética de números enteros
División de enteros – observaciones
Representación de
datos numéricos Este algoritmo asume que el divisor V y dividendo D son positivos y que se
Enteros con signo
Complemento a 2
cumple |V | < |D|
Aritmética de números Si |V | = |D| se cumplirá que el cociente Q = 1 y el residuo R = 0
enteros
Adición y substracción
Si |V | > |D| se cumplirá que Q = 0 y R = D
Multiplicación de enteros
División de enteros
Este algoritmo de división es para enteros sin signo unsigned int, aunque
utiliza internamente operaciones complemento-2.
Requiriendo manejo de signos, se puede solucionar el dilema de los signos
para el cociente Q y residuo A a partir de los signos del dividendo D y
divisor V de la siguiente forma:
signo(Q) = signo(D) ⊕ signo(V ) (regla de los signos)
signo(R) = signo(D)
DCS-UCSP CS221 – Arquitectura de Computadores TÚPAC, Y. [pp. 41/41]