Anda di halaman 1dari 64

Departamento de

Sistemas e Informtica

Digital II - ECA
Representacin de datos y
aritmtica bsica en
sistemas digitales
Rosa Corti

2015

Sistemas de Numeracin:

Alfabeto: Smbolos utilizados

Base: Cantidad de smbolos del alfabeto

Sistemas Posicionales: La posicin del dgito en la


tira de smbolos da un peso a su valor
2

Sistemas de Numeracin:

Sistema binario

{0,1}

Sistema octal

{0,1,2,3,4,5,6,7}

Sistema hexadecimal

{ 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
3

Representacin decimal: Cdigo BCD


Dgito decimal

Dgito decimal codificado


en binario (BCD)

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

Representacin y operaciones
bsicas con enteros.

Representacin de enteros

Magnitud y signo

Utilizada en la vida diaria

Complemento a la base
Complementos
Complemento a la base menos 1
6

Complemento a la base menos 1


Dado un nmero N en base r con n dgitos, el
complemento (r 1) de N se define como ( rn 1) N.

Ejemplo en binario:
N = (0 1101)2
-N = (1 0010)2

Ventaja: Implementacin
muy simple
Inconveniente: Doble
representacin del cero

Ejemplo en decimal:
N = (31.479)10
-N = (68.520)10

Complemento a la base

Dado un nmero N en base r con n dgitos, el


complemento a r de N se define como rn N.

Ejemplo en binario:

Ejemplo en decimal:

N = (0 1101)2
-N = (1 0011)2

N = (31.479)10
-N = (68.521)10

Es el complemento ms utilizado en sistemas digitales


8

Representacin del signo:


Ejemplo en binario:
N = (14)10 = (0 00001110)2
-N = (- 14)10 = (1 11110010)2 Utilizando complemento a 2.
-N = (- 14)10 = (1 11110001)2 Utilizando complemento a 1.

Ejemplo en decimal:
N = (+ 258)10 = ( 0000 0010 0101 1000 ) BCD
-N = (- 258)10 = ( 1001 0111 0100 0010 ) BCD , en C10.
9

Caracterizacin de la representacin binaria de enteros


Capacidad de representacin:
2 smbolos y tiras de n bits

Cantidad de tiras de bits distintas

2n

Si n = 8 , es 256

Resolucin: Mnima diferencia entre 2 representaciones consecutivas


Representacin de enteros

Es siempre 1 (20)

Rango Conjunto de valores representables


Representacin

Rango (n bits)

Ejemplo (n = 8)

Positivos sin signo


C2

[0 ; 2n 1]
[- 2n-1 ; 2n-1 1]

[0 ; 255]
[- 128 ; 127]

C1

[- 2n-1 -1 ; 2n-1 1]

[- 127 ; 127] 10

Suma en C2
A

Caso 1: A > 0 y B > 0


S=A+B

Cout

B
Sumador
Binario

Cin

Resultado correcto
S = A + B + Cin

A
B
S= A+B

Sistema decimal
+6
+13
+19

Sistema binario
0 0000110
0 0001101
0 0 0010011
11

Suma en C2
A

Caso 2: A < 0 y B < 0


Representacin
binaria (r = 2)

Cout

B
Sumador
Binario

Cin

Resultado correcto

S = (rn A) + ( rn B) = rn + rn ( |A| + |B| )

A
B
S= A+B

Sistema decimal
-6
-13
-19

Sistema binario
1 1111010
1 1110011
1 1 1101101

12

Suma en C2
Caso 3: A < 0 y B > 0 y |A| < |B|

A
Cout

Representacin
binaria (r = 2)

B
Sumador
Binario

Resultado correcto

Cin

S = (rn A) + B = rn + ( |B| - |A| )

A
B
S= A+B

Sistema decimal
Sistema binario
-6
1 1111010
+13
0 0001101
+7
1 0 0000111
13

Suma en C2
Caso 4: A > 0 y B < 0 y |A| < |B|
A
Representacin
binaria (r = 2)

Cout

Resultado correcto

B
Cin

Sumador
Binario

S
S = A + (rn B) = rn - ( |B| - |A| )

A
B
S= A+B

Sistema decimal Sistema binario


+6
0 0000110
-13
1 1110011
-7
0 1 1111001
14

Sumador binario en C2
A

Cout

Sumador
Binario

Cin

Cuando sumamos nmeros positivos y negativos


utilizando complemento a r, se obtendr el
resultado correcto siempre, si se ignora rn.
15

Sobreflujo (Overflow)
El sobreflujo ocurre cuando al sumar dos nmeros
de n bits, el resultado ocupa n + 1bits.

Es un problema de la representacin ligado al


tamao finito de los registros del sistema

En general se detecta y se informa.


16

Representacin binaria: Rango y Sobreflujo


La cantidad de bits (n) y las caractersticas de la representacin
binaria definen el RANGO o conjunto de valores representables.

Hay sobreflujo cuando el resultado de la operacin excede


el rango de la representacin
Representacin

Rango (n bits)

Ejemplo (n = 8)

Positivos sin signo

[0 ; 2n 1]

[0 ; 255]

C2

[- 2n-1 ; 2n-1 1]

[- 128 ; 127]

C1

[- 2n-1 -1 ; 2n-1 1]

[- 127 ; 127]
17

Bibliotecas Unificadas: Sumador binario


Se disponen en distinto tamao: 4, 8, 16 bits
Son encadenables

Sumadores de mayor tamao

Nmeros sin signo o C2

S = A + B + CI

Interpretacin de los operandos

OFL

Sobreflujo en C2

CO

Sobreflujo sin signo

18

Sumadores binarios encadenados


CO del ADD que suma los bits menos
significativos se conecta a CI del ADD
que suma los bits ms significativos
Sobreflujo detectado por OFL (C2) o
CO (positivos sin signo) del ADD
que suma los bits ms significativos

19

Suma Binaria

Suma BCD de
dos dgitos

Se puede obtener
utilizando un
sumador binario ?

Suma BCD

Valor decimal

K Z8 Z4 Z2 Z1

C S8 S4 S2 S1

0 0 0 0 0

0 0 0 0 0

0 0 0 0 1

0 0 0 0 1

0 0 0 1 0

0 0 0 1 0

0 0 0 1 1

0 0 0 1 1

0 0 1 0 0

0 0 1 0 0

0 0 1 0 1

0 0 1 0 1

0 0 1 1 0

0 0 1 1 0

0 0 1 1 1

0 0 1 1 1

0 1 0 0 0

0 1 0 0 0

0 1 0 0 1

0 1 0 0 1

0 1 0 1 0

1 0 0 0 0

10

0 1 0 1 1

1 0 0 0 1

11

0 1 1 0 0

1 0 0 1 0

12

0 1 1 0 1

1 0 0 1 1

13

0 1 1 1 0

1 0 1 0 0

14

0 1 1 1 1

1 0 1 0 1

15

1 0 0 0 0

1 0 1 1 0

16

1 0 0 0 1

1 0 1 1 1

17

1 0 0 1 0

1 1 0 0 0

18

1 0 0 1 1

1 1 0 0 1

19

20

Suma en BCD

Ejemplo 1: S = A + B, dnde A = (+ 184) y B = (+ 576)


Signo

Centena

Decena

0000

0001

1000

0100

184

0000

0101

0111

0110

+ 576

0000

0111

1 0000

1010

0110

0110

0110

1 0000

Acarreo BCD

Suma
Binaria
Correccin

Suma BCD 0000

0111

Unidad Suma Decimal

760
21

Suma en BCD

Ejemplo 2: S = A + B, dnde A = (- 184) y B = (- 576)


C10(A) = 9 816
Signo

Centena

C10(B) = 9 424
Decena

Unidad Suma Decimal

Acarreo BCD 1
1001

1000

0001

0110

- 184

1001

0100

0010

0100

- 576

1 1011

1100

0100

1010

0110

0110

1 1001

1 0010

Suma
Binaria
Correccin
Suma
BCD

0110
0100

1 0000

- 760
22

Suma en C1
Caso 1:

A>0yB>0
Cout

S=A+B

Resultado correcto

B
Sumador
Binario

Cin

A
B
S= A+B

Sistema decimal
+6
+13
+19

Sistema binario
0 0000110
0 0001101
0 0 0010011
23

Suma en C1
Caso 2: A < 0 y B < 0
Representacin
binaria (r = 2)

Resultado correcto

S = (rn 1 A) + ( rn 1 B) = rn 1 + rn 1 ( |A| + |B| )

A
B
S= A+B

Sistema decimal
-6
-13
-19

Sistema binario
1 1111001
1 1110010
1 1 1101011 (- 20)
1
1 1101100

24

Suma en C1
Caso 3: A < 0 y B > 0 y |A| < |B|
Representacin
binaria (r = 2)

Resultado correcto

S = (rn 1 A) + B = rn 1 + ( |B| |A| )

A
B
S= A+B

Sistema decimal
-6
+13
+7

Sistema binario
1 1111001
0 0001101
1 0 0000110 ( + 6)
1
00000111

25

Suma en C1
Caso 4: A > 0 y B < 0 y |A| < |B|
Representacin
binaria (r = 2)

Resultado correcto

S = A + (rn 1 B) = rn 1 ( |B| |A| )

A
B
S= A+B

Sistema decimal
Sistema binario
+6
0 0000110
-13
1 1110010
-7
0 1 1111000
26

Sumador binario en C1
A

Cout

Sumador
Binario

Cin

Cuando sumamos nmeros positivos y negativos


utilizando complemento a r 1, se obtendr el
resultado correcto siempre, si se suma rn al dgito
menos significativo.
27

Resta binaria

R=A- B

R = A + (- B)

Se complementa el sustraendo ( C2 C1)

Se obtiene a partir del bloque sumador


28

Bibliotecas Unificadas: Sumador/Restador binario


Se disponen en distinto tamao: 4, 8, 16 bits

Son encadenables

Operandos de mayor tamao


S = A + B + CI

Nmeros sin signo o C2

Interpretacin de los operandos


29

Sumador/Restador binario
SUMA

RESTA

S = A + B + CI

ADD = 1
CI y CO son activos en alto (1)
S = A - B - CI
ADD = 0
CI y CO son activos en bajo (0)
Suma

CO

OFL_SS

1
30

Sumadores/Restadores encadenados

CI del ADSU que opera con los


bits menos significativos se define
en base a la entrada suma (ADD)

El sobreflujo se detecta en el
ADSU que opera con los bits ms
significativos. Depende del tipo
de representacin adoptado
31

Sumador/Restador binario

SS
C2
SS
C2
SS
C2

La representacin adoptada
determinar la forma de detectar
el sobreflujo (OFC2 u OFSS)

32

Multiplicacin y divisin binarias


Se obtienen a partir de la suma y resta binarias , realizando
los corrimientos correspondientes.

Se opera con los valores absolutos y se obtiene el signo del


resultado a partir de los signos de los operandos.

ALU

Operaciones aritmticas
Operaciones lgicas
Corrimientos y rotaciones
33

Representacin de
nmeros reales.

34

Representacin de nmeros reales


Se considera la coma o punto, fijo en cierta posicin.

Representacin de punto fijo


Se almacena la posicin que ocupa la coma o punto.

Representacin de punto flotante


35

Representacin en punto fijo


El punto en el extremo izquierdo

El nmero es una fraccin

El punto en el extremo derecho

El nmero es un entero
36

Representacin en punto flotante

Mantisa: Nmero de punto fijo con signo

N = m x re
Exponente: Representa la posicin del punto

La mantisa y el exponente se representan fsicamente


37

Normalizacin en punto flotante


Un nmero con punto flotante est normalizado si el
dgito ms significativo de la mantisa es distinto de cero.
Ejemplo: Mantisa fraccionaria (magnitud y signo 8 bits), exponente (C2, 6 bits)
Nro. binario
+ 0011,011

Nmero sin normalizar

Nmero normalizado

Mantisa

Exponente

Mantisa

Exponente

0 0011011

0 00100

0 1101100

0 0010

Bit de signo
El punto est a la derecha del bit de signo

38

Representacin computacional
de datos.

39

Representacin computacional de datos

Enteros o en punto fijo


Reales en punto flotante

Decimales
Caracteres

Cdigo ASCII
40

Representacin computacional de enteros


BYTE

8 Bits
SBYTE
WORD

16 Bits
SWORD
DWORD

32 Bits
SDWORD
41

Conversin entre distintas longitudes


Ejemplo:
+ 18 =

00010010 (complemento a dos, 8 bits).

+ 18 = 0000000000010010 (complemento a dos, 16 bits).

-18 =

11101110 (complemento a dos, 8 bits).

- 18 = 1111111111101110 (complemento a dos, 16 bits).

Debe completarse el formato usando el bit de signo


42

Representacin computacional de decimales


BCD Empaquetado
BCD Desempaquetado
Modo Carcter
N

BCD Empaquetado

BCD Desempaquetado

12

0001 0010

0000 0001 0000 0010

623

0000 0110 0010 0011

0000 0110 0000 0010 0000 0011

910

0000 1001 0001 0000

0000 1001 0000 0001 0000 0000

ASCII

12

0011 0001 0011 0010

623

0011 0110 0011 0010 0011 0011

910

0011 1001 0011 0001 0011 0000

43

Representacin computacional en punto flotante

Mantisa
normalizada

Exponente sesgado

Representada en magnitud y signo

Se asume que es fraccionaria

Se suma un valor fijo para


que sea siempre positivo

La base se conoce y por lo tanto no se representa


44

Estndar 754 de IEEE para punto flotante


Los distintos formatos del esquema tienen la misma estructura

La mantisa se normaliza y no se
representa el bit ms significativo

SIGNIFICANTE

El significante es un nmero entre 1 y 2.

45

Estndar 754 de IEEE para punto flotante

46

Estndar 754 de IEEE para punto flotante

47

Estndar 754 de IEEE: Ejemplos

48

Estndar 754 de IEEE para punto flotante


Los bits disponibles en cada formato de la norma se reparten
entre significante y exponente

Existe un compromiso entre rango representable y resolucin.


49

Suma y resta en punto flotante


Se siguen los siguientes pasos:

Verificacin de operandos nulos


Alineacin de significantes
Suma o resta de significantes
Normalizacin y redondeo del resultado
50

Suma y resta en punto flotante


La suma y la resta obligan a realizar un
alineamiento de significantes
Los exponentes deben ser iguales

Se pierden dgitos
significativos

Se desplaza el significante del nmero ms chico


Ejemplo en decimal:
S = 123 100 + 456 10-2

= 123 100 + 4,56 100 = 127,56 100


51

Estndar 754 de IEEE: Bits de guarda


Z = X Y = 1,000 00 21 1,111 11 20
Sin bits de guarda:

Con bits de guarda:

X = 1,000.........00 x 21
- Y = 0,111.........11 x

21

X = 1,000.........00 0000 x 21
- Y = 0,111.........11 1000 x 21

Z = 0,000.........01 x 21

Z = 0,000.........00 1000 x 21

Z = 1, 000........00 x 2-22

Z = 1, 000........00 0000 x 2-23

Sirven para reducir los errores al operar

52

Estndar 754 de IEEE: Redondeo

Trunca los bits de guarda

Redondeo a cero

Redondeo al ms prximo

Usada por defecto

Redondeo hacia +

Redondeo hacia -

Se utilizan slo si las necesidades


de exactitud son muy altas

53

Multiplicacin y divisin en punto flotante


Se siguen los siguientes pasos:
Verificacin de operandos nulos
Suma o resta de exponentes
Multiplicacin o divisin de significantes
Normalizacin y redondeo del resultado
54

Caracterizacin de las
representaciones.

55

Caracterizacin de los sistemas de representacin


Capacidad de representacin:

Cantidad de tiras de datos distintas que es


posible representar en el sistema.

Depende del nmero de smbolos del alfabeto y de la


longitud de la tira con la que se representan los valores.
56

Caracterizacin de los sistemas de representacin


Capacidad de representacin, ejemplos:
Sistema con alfabeto binario restringido a 6 bits

Nmero de representaciones posibles

26 = 64

Que ocurre con el valor anterior si la representacin es:


Punto fijo, se representan enteros positivos.
Punto fijo fraccionaria pura > = 0.
Punto flotante, mantisa entera en C2 de 3 bits,
exponente positivo de 3 bits.
57

Caracterizacin de los sistemas de representacin


Rango:

En sistemas de numricos, es un entorno que queda


definido por los valores mnimo y mximo que
pueden representarse en la recta numrica.

58

Representacin restringida a n bits: Parmetros


Rango, ejemplos:
Sistema con alfabeto binario restringido a 6 bits
Nmeros enteros >= 0
Nmeros enteros, en C1

[0 , 63]
[- 31 , +31]

Mantisa fraccionaria pura >= 0

[0 , 0.111111]

Mantisa entera >= 0 (2 bits),


exponente en C1

[0 , 3*2 7]
59

Caracterizacin de los sistemas de representacin


Resolucin:

En sistemas de representacin numricos, se


define a partir de los nmeros consecutivos en la
recta numrica.

60

Representacin restringida a n bits: Parmetros


Resolucin, ejemplos:
Sistema con alfabeto binario restringido a 6 bits
Nmeros enteros >= 0
Mantisa fraccionaria pura >= 0

(1)2

(0.000001)2

Mantisa entera >= 0 (2 bits), exponente en C1

RM = (1* 27)2

Rm = (1*2-7)2

61

Conclusiones
El nmero de smbolos del alfabeto y la longitud de la tira
que se utiliza para representar los valores, son quienes
determinan la capacidad de representacin de un sistema.

Representaciones numricas restringidas a n dgitos

El rango en punto flotante es ms amplio que en punto fijo.


62

Conclusiones

Los sistemas numricos en punto flotante, tienen


resolucin variable a lo largo de la recta numrica.

La distribucin de los dgitos de la representacin entre


mantisa y exponente en un sistema en punto flotante
constituye una solucin de compromiso.

63

Conclusiones

Los sistemas reales tienen recursos limitados

Los requerimientos del diseo determinan las


caractersticas de la representacin ms adecuada.

La bondad del sistema de representacin se evala


en el contexto de la aplicacin en la que se lo utiliza
64