Está en la página 1de 84

Tema 3:

Sistemas de Numeración.
Numeración
Codificación Binaria

Escuela Politécnica Superior


Ingeniería Informática
Universidad Autónoma de Madrid

Sistemas de Numeración.
Codificación Binaria
TEMA 3: SISTEMAS DE
O Conocer los diferentes sistemas de NUMERACIÓN.
B numeración y los códigos CODIFICACIÓN
alfanuméricos. BINARIA
J
3.1 Sistemas de numeración
E Aplicar las operaciones aritméticas a 3.2 Operaciones aritméticas
T los números binarios
en binario
3.3 Código BCD. Aritmética
I BCD
Conversión entre los diferentes 3.4 Representación de
V sistemas de numeración. números con signo
3.5 Representación de
O números en punto fijo y
S Expresar y sumar números en BCD. coma flotante
3 6 Códi
3.6 Códigos alfanuméricos
lf éi

Bibliografía Tema 3:
- Fundamentos de Sistemas Digitales. T. L. FLOYD. 7ª Ed.
(Prentice Hall, 2000). Cap. 2.
- Introduction to Computer Hardware and Data Communications.
P.-A. GOUPILLE. (Prentice Hall, 1993). Capítulos 2, 3 y 4.
2

1
SISTEMA DE NUMERACIÓN DECIMAL
• El sistema de numeración decimal con sus diez dígitos,
de 0 hasta 9, es un sistema en base diez.
• La p
posición de cada dígito
g en un número decimal indica la
magnitud de la cantidad reservada, y se le puede asignar
un peso. Los pesos para los números enteros son
potencias positivas de diez, que aumentan de derecha a
izquierda, comenzando por 100 = 1.
... 105 104 103 102 101 100
• Para
ara fracc
fraccionarios,
onar os, los pesos son potenc
potencias as negat
negativas
vas de
diez que aumentan de izquierda a derecha, comenzando
por 10-1 .
102 101 100 , 10-1 10-2 10-3 ...
Coma decimal
Escuela Politécnica Superior 3

SISTEMA DE NUMERACIÓN DECIMAL


• El valor de un número decimal es la suma de los dígitos
después de haber multiplicado cada dígito por su peso.
• Ejemplo:
j p
Expresar el número decimal 47 como suma de los
valores de cada dígito.
Solución. Como indican sus respectivas posiciones, el
dígito 4 tiene un peso de 10, que es 101. El dígito 7 tiene
un peso de 1, que corresponde a 100.
47 = ( 4 x 101 ) + ( 7 x 100 )
= ( 4 x 10 ) + ( 7 x 1 ) = 40 + 7

Escuela Politécnica Superior 4

2
SISTEMA DE NUMERACIÓN DECIMAL
• Ejemplo:
Expresar el número decimal 568,23 como suma de los
valores de cada dígito.
g
Solución. El dígito 5 de la parte entera del número
tiene un peso 100, es decir 102; el dígito 6 tiene un peso
de 10, que corresponde a 101. El dígito 8 tiene un peso
de 1, que es 100; el dígito 2 de la parte fraccionaria
tiene un peso 0,1, es decir 10-1; y el dígito 3 tiene un
peso de 0,01 q
p que es 10-2.
568,23 = (5 x 102) + (6 x 101) + (8 x 100) + (2 x 10-1) + (3 x 10-2)
= (5 x 100) + (6 x 10) + (8 x 1) + (2 x 0,1) + (3 x 0,01)
= 500 + 60 + 8 + 0,2 + 0,03

Escuela Politécnica Superior 5

SISTEMA DE NUMERACIÓN BINARIO


• El sistema de numeración binario solo tiene dos dígitos.
El sistema binario con sus dos dígitos es un sistema en
base dos. Los dígitos
g binarios ((bits)) son 0 y 1.
• La posición de un 1 o de un 0 en un número binario indica
su peso, o valor dentro del número, así como la posición
de un dígito decimal determina el valor de ese dígito.
• Los pesos de un número binario están basados en las
potencias de dos.

Escuela Politécnica Superior 6

3
SISTEMA DE NUMERACIÓN BINARIO
• Contar en Binario
Por ejemplo, se requieren cuatro bits para contar desde
general, con n bits se p
0 hasta 15. En g puede contar hasta
un número igual a 2 -1.
n

Máximo número decimal = 2n-1

Así, con 5 bits (n = 5) se puede contar desde 0 hasta 31:


25 – 1 = 32 – 1 = 31
Con 6 bits (n = 6) se puede contar desde 0 hasta 63:
26 - 1 = 64 – 1 = 63

Escuela Politécnica Superior 7

SISTEMA DE NUMERACIÓN BINARIO


Número
decimal Número binario
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
10 1 0 1 0
11 1 0 1 1
12 1 1 0 0
13 1 1 0 1
14 1 1 1 0
15 1 1 1 1

Escuela Politécnica Superior 8

4
SISTEMA DE NUMERACIÓN BINARIO
• Estructura de Pesos de los Números Binarios
– Un número binario es un número con peso. El bit más a la
derecha es el bit menos significativo (LSB,
(LSB Least Significant
Bit) en un número entero binario y tiene un peso de 20 = 1.
– Los pesos de los respectivos bits crecen de derecha a izquierda
según las potencias de dos. El bit más a la izquierda es el bit
más significativo (MSB, Most Significant Bit), y su peso
depende del tamaño del número binario.
– Los números con parte fraccionaria también se pueden
representar en binario, colocando bits a la derecha de la coma
binaria.

Escuela Politécnica Superior 9

SISTEMA DE NUMERACIÓN BINARIO


• Estructura de Pesos de los Números Binarios
– En un número binario con parte fraccionaria, el bit más a la
izquierda es el MSB,
MSB y tiene un peso de 2-11 = 0,5.
05
– Los pesos fraccionarios de los respectivos bits decrecen de
izquierda a derecha según las potencias negativas de dos.
– La estructura de pesos de un número binario es:
2n-1 .... 23 22 21 20 , 2-1 2-2 ... 2-n

C
Coma binaria
bi i

donde n es el número de bits a partir de la coma binaria.

Escuela Politécnica Superior 10

5
SISTEMA DE NUMERACIÓN BINARIO
• Estructura de Pesos de los Números Binarios

Tabla de Pesos Binarios


Potencias positivas de dos Potencias negativas de dos
(número entero) (número fraccionario)

28 27 26 25 24 23 22 21 20 2-1 2-2 2-3 2-4 2-5 2-6

256 128 64 32 16 8 4 2 1 1/2 1/4 1/8 1/16 1/32 1/64


0,5 0,25 0,125 0,0625 0,03125 0,015625

Escuela Politécnica Superior 11

CONVERSIÓN BINARIO A DECIMAL


• El valor decimal de cualquier número binario se puede
determinar sumando los pesos de todos los bits que son
1,, y descartando los p
pesos de todos los bits q
que son 0.
• Ejemplo:
Convertir el número entero binario 1101101 a decimal.
Solución. Se determina el peso de cada bit que está a 1,
y luego se obtiene la suma de los pesos para obtener el
número decimal:
Peso: 26 25 24 23 22 21 20
Número binario: 1 1 0 1 1 0 1
1101101 = 26 + 25 + 23 + 22 + 20
= 64 + 32 + 8 + 4 + 1 = 109
Escuela Politécnica Superior 12

6
CONVERSIÓN BINARIO A DECIMAL
• Ejemplo:
Convertir el número binario fraccionario 0,1011 en
decimal
decimal.
Solución. En primer lugar se determina el peso de cada
bit que está a 1, y luego se suman los pesos para obtener
la fracción decimal:
Peso: 2-1 2-2 2-3 2-4
Número binario: 0 , 1 0 1 1
0,1011 = 2-1 + 2-3 + 2-4
= 0,5 + 0,125 + 0,0625 = 0,6875

Escuela Politécnica Superior 13

CONVERSIÓN DECIMAL A BINARIO


• Método de la Suma de Pesos
- Una forma de calcular el número binario equivalente a
un número decimal dado es determinar el conjunto de
pesos binarios, cuya
p y suma es igual
g al número decimal.
- Ejemplo:
Convertir los siguientes números decimales a formato
binario:
(a) 12 (b) 25 (c) 58 (d) 82
Solución.
(a) 12 = 8 + 4 = 23 + 22 1100

(b) 25 = 16 + 8 + 1 = 24 + 23 + 20 11001

(c) 58 = 32 + 16 + 8 + 2 = 25 + 24 + 23 + 21 111010

(d) 82 = 64 + 16 + 2 = 26 + 24 + 21 1010010

Escuela Politécnica Superior 14

7
CONVERSIÓN DECIMAL A BINARIO
• Método de la División Sucesiva por 2
- Un método sistemático para convertir a binario
enteros decimales es el proceso de la división
sucesiva por 2 .
- Por ejemplo, para convertir a binario el número
decimal 12, comenzamos dividiendo 12 entre 2. Luego
cada cociente resultante se divide por 2 hasta que
se obtiene un cociente cuya parte entera es 0.
- Los restos generados en cada división forman el
número binario.
binario El primer resto es el bit menos
significativo (LSB) y el último resto es el bit más
significativo (MSB) del número binario.

Escuela Politécnica Superior 15

CONVERSIÓN DECIMAL A BINARIO


• Método de la División Sucesiva por 2
- Ejemplo: Resto
12 = 6 0
2

6 = 3 0
2

3 = 1 1
2

1 = 0 1
Parar cuando la parte
entera del cociente sea 0 2 1 1 0 0
MSB LSB
Escuela Politécnica Superior 16

8
CONVERSIÓN DE FRACCIONES DECIMALES A BINARIO
• Método de la Suma de Pesos
- El método de la suma de pesos se puede aplicar a
números decimales fraccionarios. Por ejemplo:
0 625 = 0,5
0,625 0 5 + 0,125
0 125 = 2-1 + 2-3 = 0,101
0 101
Lo que indica que en la posición 2-1 hay un 1, en la
posición 2-2 un 0 y en la posición 2-3 un 1.
• Método de la Multiplicación Sucesiva por 2
- Los números decimales enteros se pueden convertir a
números binarios mediante la división sucesiva p
por 2.
- Los números decimales fraccionarios pueden
convertirse en números binarios mediante la
multiplicación sucesiva por 2.

Escuela Politécnica Superior 17

CONVERSIÓN DE FRACCIONES DECIMALES A BINARIO


• Método de la Multiplicación Sucesiva por 2
- Por ejemplo, para convertir a binario el número
decimal fraccionario 0,3125, empezamos multiplicando
por 2,
2 y después
d s és se s multiplica
lti li cada
d parte
t fraccional
f i l
resultante del producto por 2, hasta que el producto
fraccionario sea cero o hasta que se alcance el número
deseado de posiciones decimales.
- Los dígitos acarreados, o acarreos, generados por las
multiplicaciones dan lugar al número binario.
- El primer acarreo que se obtiene es el MSB, y el
último es el LSB.

Escuela Politécnica Superior 18

9
CONVERSIÓN DE FRACCIONES DECIMALES A BINARIO
• Método de la Multiplicación Sucesiva por 2
- Ejemplo:
MSB LSB
Acarreo ,0101
0 3125 x 2 = 0,625
0,3125 0 625 0

0,625 x 2 = 1,25 1

Continuar hasta obtener


el número de p posiciones
0,25 x 2 = 0,50 0
decimales deseadas, o
parar cuando la parte
fraccional sea toda cero 0,50 x 2 = 1,00 1

Escuela Politécnica Superior 19

SISTEMA DE NUMERACIÓN HEXADECIMAL


- El sistema de numeración hexadecimal es un sistema en
base dieciséis, es decir, está formado por 16 dígitos y
caracteres alfabéticos: 0
0-99yAA-F
F.

- La mayoría de los sistemas digitales procesan grupos de


datos binarios que son múltiplos de cuatro bits, lo que
hace al número hexadecimal muy adecuado, ya que cada
dígito hexadecimal se representa mediante un número
binario de 4 bits.
bits

Escuela Politécnica Superior 20

10
SISTEMA DE NUMERACIÓN HEXADECIMAL
Decimal Binario Hexadecimal
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F

Escuela Politécnica Superior 21

CONVERSIÓN BINARIO-
BINARIO-HEXADECIMAL
- El procedimiento de conversión de un número binario a
hexadecimal consiste en los siguientes pasos: (a) se
parte el número binario en grupos de 4 bits,
comenzando por el bit más a la derecha; y (b) se
reemplaza cada grupo de 4 bits por su símbolo
hexadecimal equivalente.

Escuela Politécnica Superior 22

11
CONVERSIÓN BINARIO-
BINARIO-HEXADECIMAL
• Ejemplo: Convertir a hexadecimal los siguientes números
binarios:
(a) 1100101001010111 (b) 111111000101101001
Solución.

(a) (b)
1100 1010 0101 0111 0011 1111 0001 0110 1001

C A 5 7 = CA5716 3 F 1 6 9 = 3F16916

Escuela Politécnica Superior 23

CONVERSIÓN HEXADECIMAL-
HEXADECIMAL-BINARIO
- Para convertir un número hexadecimal en un número

binario se realiza el proceso inverso,


inverso reemplazando

cada símbolo hexadecimal, por el grupo de cuatro bits

adecuados.

Escuela Politécnica Superior 24

12
CONVERSIÓN HEXADECIMAL-
HEXADECIMAL-BINARIO
• Ejemplo: Determinar los números binarios que
correspondan a los siguientes números hexadecimales:
(a) 10A416 (b) CF8E16 (c) 974216
Solución.
(a) 1 0 A 4 (b) C F 8 E (c) 9 7 4 2

1 000010100100 1100 1111 1000 1110 1001 0111 0100 0010

Escuela Politécnica Superior 25

CONVERSIÓN HEXADECIMAL-
HEXADECIMAL-DECIMAL

- Método 1: para encontrar el equivalente decimal de un

número
ú h
hexadecimal,
d i l primero,
i convertir
ti ell número
ú

hexadecimal a binario, y después, el binario a decimal.

Escuela Politécnica Superior 26

13
CONVERSIÓN HEXADECIMAL-
HEXADECIMAL-DECIMAL
• Ejemplo: Convertir a decimal los siguientes números
hexadecimales:
((a)) 1C16 ((b)) A8516
Solución. Primero, hay que convertir a binario el
número hexadecimal, y después a decimal:

(a) 1 C

0001 1100 = 24 + 23 + 22 = 16 + 8 + 4 = 2810

(b) A 8 5

1010 1000 0101 = 211 + 29 + 27 + 22 + 20 = 2048 + 512 + 128 + 4 + 1 = 269310

Escuela Politécnica Superior 27

CONVERSIÓN HEXADECIMAL-
HEXADECIMAL-DECIMAL
- Método 2: para convertir un número hexadecimal a su
equivalente decimal, multiplicar el valor decimal de
cada dígito hexadecimal por su peso,
peso y luego realizar la
suma de estos productos.

- Los pesos de un número hexadecimal crecen según las


potencias de 16 (de derecha a izquierda).

- Para un número hexadecimal de 4 dígitos,


dígitos los pesos
son:
163 162 161 160
4096 256 16 1
Escuela Politécnica Superior 28

14
CONVERSIÓN HEXADECIMAL-
HEXADECIMAL-DECIMAL
• Ejemplo: Convertir a decimal los siguientes números
hexadecimales:
(a) E516 (b) B2F816
Solución. Las letras de la A hasta la F representan los
números decimales de 10 hasta 15, respectivamente.

(a) E516 = (E x 16) + (5 x 1) = (14 x 16) + (5 x 1) = 224 + 5 = 22910


(b) B2F816 = (B x 4096) + (2 x 256) + (F x 16) + (8 x 1)
= (11 x 163) + (2 x 162) + (15 x 161) + (8 x 160)
= (11 x 4096) + (2 x 256) + (15 x 16) + (8 x 1)
= 45056 + 512 + 240 + 8 = 4581610

Escuela Politécnica Superior 29

CONVERSIÓN DECIMAL-
DECIMAL-HEXADECIMAL
- La división sucesiva por 16 de un número decimal
generará el número hexadecimal equivalente formado
por restos de las divisiones.
divisiones
- El primer resto que se genera es el dígito menos
significativo (LSD).
- Cada división sucesiva por 16 dará un resto que será
dígito del número hexadecimal equivalente.
- E
Este
t procedimiento
di i t es similar
i il a la
l división
di i ió sucesiva
i
por 2 para la conversión decimal-binario.

Escuela Politécnica Superior 30

15
CONVERSIÓN DECIMAL-
DECIMAL-HEXADECIMAL
• Ejemplo. Convertir a hexadecimal el número decimal 650
por el método de la división sucesiva por 16.
Resto hexadecimal
650 = 40,625
, 0,625 x 16 =10 = A
16

40 = 2,5 0,5 x 16 = 8 = 8
16

2 = 0,125 0,125 x 16 = 2 = 2
16

Parar cuando la parte


entera del cociente sea 0 Número
2 8 A hexadecimal
Escuela Politécnica Superior Dígito más 31
Dígito menos
significativo significativo

SISTEMA DE NUMERACIÓN OCTAL

- El sistema de numeración octal está formado por ocho


dígitos, que son: 0, 1, 2, 3, 4, 5, 6, 7.
- Puesto que el sistema de numeración octal es un sistema
en base ocho, cada posición sucesiva de dígito es una
potencia superior de ocho, empezando por el dígito
situado más a la derecha con 80.

Escuela Politécnica Superior 32

16
CONVERSIÓN OCTAL
OCTAL--DECIMAL
- La evaluación de un número octal en términos de su
equivalente decimal se consigue multiplicando cada
dígito
g por su p
p peso y sumando los pproductos. Por
ejemplo, para 23748 se tiene:

Peso : 83 82 81 80
Número Octal: 2 3 7 4

23748 = (2 x 83) + (3 x 82) + (7 x 81) + (4 x 80)


= (2 x 512) + (3 x 64) + (7 x 8) + (4 x 1)
= 1024 + 192 + 56 + 4 = 127610

Escuela Politécnica Superior 33

CONVERSIÓN DECIMAL-
DECIMAL-OCTAL

- Un método para convertir un número decimal en un


número octal es el método de la división sucesiva por 8.

- Cada división sucesiva por 8 da un resto que será un


dígito del número octal equivalente.

- El primer resto que se genera es el dígito menos


significativo.
- Por ejemplo, convertir a octal el número decimal 359.

Escuela Politécnica Superior 34

17
CONVERSIÓN DECIMAL-
DECIMAL-OCTAL
359 = 44,875 0,875 x 8 = 7
8

44 = 5,5 0,5 x 8 = 4
8

5 = 0,625 0,625 x 8 = 5
8

Parar cuando la parte


entera del cociente sea 0
5 4 7 Número octal
Dígito más Dígito menos
significativo significativo
Escuela Politécnica Superior 35

CONVERSIÓN OCTAL
OCTAL--BINARIO
- Puesto que cada dígito octal se puede representar
mediante un número binario de 3 dígitos, para
convertir un número octal en un número binario,
simplemente se reemplaza cada dígito por el
correspondiente grupo de tres bits.

- Cada dígito octal se representa mediante tres bits,


como se muestra en la siguiente tabla:

Dígito octal 0 1 2 3 4 5 6 7
Binario 000 001 010 011 100 101 110 111

Escuela Politécnica Superior 36

18
CONVERSIÓN OCTAL
OCTAL--BINARIO

• Ejemplo: Convertir a binario los siguientes números


octales:
octales
(a) 138 (b) 258 (c) 1408 (d) 75268
Solución.
(a) 1 3 (b) 2 5 (c) 1 4 0 (d) 7 5 2 6

010 101 001 100 000 111 101 010 110


001 011

Escuela Politécnica Superior 37

CONVERSIÓN BINARIO-
BINARIO-OCTAL
- La conversión de un número binario a un número octal
es el inverso de la conversión de octal a binario.
- El procedimiento es el siguiente: se comienza por el
grupo de tres bits más a la derecha y, moviéndose de
derecha a izquierda, se convierte cada grupo de 3 bits
en el dígito octal equivalente.
- Si para el grupo más a la izquierda no hay disponibles
tres bits, se añaden uno o dos ceros para completar el
grupo. Estos
E ceros no afectan
f all valor
l d l número
del ú
binario.

Escuela Politécnica Superior 38

19
CONVERSIÓN BINARIO-
BINARIO-OCTAL
• Ejemplo: Convertir a octal los siguientes números binarios:
(a) 110101 (b) 101111001 (c) 100110011010 (d) 11010000100

Solución.
(a) 110 101 (b) 101 111 001

6 5 = 658 5 7 1 = 5718

(c) 100 110 011 010 (d) 011 010 000 100

4 6 3 2 = 46328 3 2 0 4 = 32048

Escuela Politécnica Superior 39

RESUMEN. REPRESENTACIONES DE
NATURALES NO BINARIAS
1. Propiedad de sistemas posicionales
Si se tienen dos bases b1 y b2 tales que b1=(b2)k, los
dígitos de la representación en la base b1 se pueden
obtener agrupando los dígitos de la base b2 en
grupos de longitud k y representando en base b1.

2. Objetivos de las bases:


• Representaciones más legibles para el usuario.
usuario
• Representaciones de fácil conversión a binario.

Escuela Politécnica Superior 40

20
RESUMEN. REPRESENTACIONES DE
NATURALES NO BINARIAS

• Representación Octal

Sistema Posicional:
• Base 8
• Conjunto de dígitos { 0, 1, 2, 3, 4, 5, 6, 7 } .

Escuela Politécnica Superior 41

RESUMEN. REPRESENTACIONES DE
NATURALES NO BINARIAS

• Conversiones

1. Conversión
ó binario octal
• Las bases involucradas cumplen la condición de la
propiedad:
8 = 23
• Las conversiones se pueden hacer agrupando los
dígitos binarios de 3 en 3
3:
- Comenzando por el bit menos significativo.
- Completando a la izquierda, si fuera necesario.

Escuela Politécnica Superior 42

21
RESUMEN. REPRESENTACIONES DE
NATURALES NO BINARIAS
• Conversiones
1. Conversión binario octal
• Ejemplos:
- 10110111002 = (se agrupan de 3 en 3)
001 011 011 1002 = (se pasa a octal)
13348
- 1078 = (se pasa a binario, 3 bits, dígito a dígito)
001 000 1112 = 10001112
2. Conversión decimal octal
• Mismos algoritmos que decimal binario

Escuela Politécnica Superior 43

RESUMEN. REPRESENTACIONES DE
NATURALES NO BINARIAS
• Representación Hexadecimal
Sistema Posicional:
• Base
B 16
• Conjunto de dígitos {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}
• Valores:
- A16 = 1010
- B16 = 1110
- C16 = 1210
- D16 = 1310
- E16 = 1410
- F16 = 1510 .

Escuela Politécnica Superior 44

22
RESUMEN. REPRESENTACIONES DE
NATURALES NO BINARIAS
• Conversiones

1. Conversión binario hexadecimal


• Las bases involucradas cumplen la condición de la
propiedad:
16 = 24
• Las conversiones se pueden hacer agrupando los
dígitos binarios de 4 en 4:
- Comenzando por el bit menos significativo.
significativo
- Completando a la izquierda, si fuera necesario.

Escuela Politécnica Superior 45

RESUMEN. REPRESENTACIONES DE
NATURALES NO BINARIAS
• Conversiones
1. Conversión binario hexadecimal
• Ejemplos:
- 10110111002 = (se agrupa de 4 en 4)
0010 1101 11002 = (se pasa a hexadecimal)
2DC16
- 10C16 = (se pasa a binario, 4 bits, dígito a dígito)
0001 0000 11002 = 1000011002

2. Conversión decimal hexadecimal


• Mismos algoritmos que decimal binario
Escuela Politécnica Superior 46

23
RESUMEN. REPRESENTACIONES DE
NATURALES NO BINARIAS
• Conversiones
3. Conversión hexadecimal octal
• Se suele utilizar el paso intermedio a binario.
• Ejemplo:
- 70A1F16 = (se pasa a binario)
0111 0000 1010 0001 11112 = (grupos de 3)

001 110 000 101 000 011 1112 = (paso a octal)


16050378

Escuela Politécnica Superior 47

OPERACIONES EN BINARIO PURO


1. Suma Binaria
- Las cuatro reglas básicas para sumar dígitos binarios son:
Tabla de la suma dígito a dígito
0 + 0 = 0 Suma 0 con acarreo 0
0 + 1 = 1 Suma 1 con acarreo 0
1 + 0 = 1 Suma 1 con acarreo 0
1 + 1 = 10 Suma 0 con acarreo 1
(El resultado es 210 = 102)
(E
Acarreo Acarreo
1 1
0 1 1
+ 0 0 1
Escuela Politécnica Superior 1 0 0 48

24
OPERACIONES EN BINARIO PURO
1. Suma Binaria
- Cuando existe un acarreo igual a 1, se produce una
situación en la que se deben sumar tres bits (un bit de
cada uno de los números y un bit de acarreo).
acarreo)
Bits de acarreo

1 + 0 + 0 = 01 Suma 1 con acarreo 0


1 + 1 + 0 = 10 Suma 0 con acarreo 1
1 + 0 + 1 = 10 Suma 0 con acarreo 1
1 + 1 + 1 = 11 Suma 1 con acarreo 1
Escuela Politécnica Superior 49

OPERACIONES EN BINARIO PURO


1. Suma Binaria
- Ejemplo:
1
1010 1010 1010
+ 1011 + 1011 + 1011
1 1 01
1 1
1010 1010 1010
+ 1011 + 1011 + 1011
101 0101 10101

- Ejemplos: • 1 + 1 + 1 + 1 = 100
2 2 2 2 2

• 112 + 12 + 1012 + 102 + 1102 = 100012


Escuela Politécnica Superior 50

25
OPERACIONES EN BINARIO PURO
1. Suma Binaria
- Ejemplo: Sumar los siguientes números binarios:
(a) 11 + 11 (b) 100 + 10 (c) 111 + 11 (d) 110 + 100

Solución.
La suma decimal equivalente se muestra también como
referencia.

(a) 11 3 (b) 100 4 (c) 111 7 (d) 110 6


+ 11 + 3 + 10 +2 + 11 + 3 + 100 + 4
110 6 110 6 1010 10 1010 10

Escuela Politécnica Superior 51

OPERACIONES EN BINARIO PURO


2. Resta Binaria
- Las cuatro reglas básicas para restar números binarios son:

Tabla de la resta dígito a dígito


0 - 0 = 0
0 - 1 = 1 (con acarreo negativo de 1,
el resultado es 210 – 110 = 102 – 12)
1 - 0 = 1
1 - 1 = 0

Escuela Politécnica Superior 52

26
OPERACIONES EN BINARIO PURO
2. Resta Binaria
• Ejemplo: Realizar las siguientes sustracciones binarias:
( ) 11 - 01 (b) 11 - 10
(a)
Solución.
(a) 11 3 (b) 11 3
- 01 - 1 - 10 -2
10 2 01 1

En este ejemplo no se han generado acarreos negativos. El


número binario 01 es el mismo que 1.

Escuela Politécnica Superior 53

OPERACIONES EN BINARIO PURO


2. Resta Binaria
• Ejemplo: Restar 011 de 101.
Solución.
101 5
- 011 -3
010 2
En este ejemplo es necesario un acarreo negativo.
Comenzando por la columna de la derecha, se tiene:
Columna central: Acarreo negativo de 1
Columna izquierda: de la columna siguiente que da lugar a 10
cuando se acarrea un en esta columna, luego 10-1=1
1, queda 0, luego 0-0 0110
1
- 011 Columna derecha: 1 - 1 = 0
010
Escuela Politécnica Superior 54

27
OPERACIONES EN BINARIO PURO
2. Resta Binaria
- Ejemplo:
1011 1011 1011
- 101 - 101 - 101
0 10 110

1011 1011
- 101 - 1101
1 0110
110
- Ejemplos:
• 10000 – 1111 = 1
• 11 - 111
Escuela Politécnica Superior 55

OPERACIONES EN BINARIO PURO


3. Multiplicación Binaria
- Las cuatro reglas básicas de la multiplicación de bits
son las siguientes:
0 x 0 = 0
0 x 1 = 0
1 x 0 = 0
1 x 1 = 1

- Algoritmo: la multiplicación con números binarios se


realiza de la misma forma que con números
decimales.
Escuela Politécnica Superior 56

28
OPERACIONES EN BINARIO PURO
3. Multiplicación Binaria
3.1. Multiplicación directa de naturales en binario
• Mismo algoritmo que en decimal.
decimal
• Ventaja: facilidad de cálculo.
x * 12 = x ∀ x
x * 02 = 0 ∀ x

Escuela Politécnica Superior 57

OPERACIONES EN BINARIO PURO


3. Multiplicación Binaria
3.1. Multiplicación directa de naturales en binario
- Ejemplo:
1000 1000 1000
x 1010 x 1010 x 1010
0000 0000 0000
1000 1000
0000
1000 1000
x 1010 x 1010
0000 0000
1000 1000
0000 0000
Escuela Politécnica Superior 1000 1000 58
1010000

29
OPERACIONES EN BINARIO PURO
3. Multiplicación Binaria
3.1. Multiplicación directa de naturales en binario
• Ejemplo:
Ej mpl : Realizar
R liz lasl s siguientes
si ui nt s multiplicaciones
multiplic ci n s binarias:
bin i s:
(a) 11 x 11 (b) 101 x 111
Solución.
(a) 11 3 (b) 111 7
x 11 x 3 x 101 x 5
Productos 11 9 111 35
Productos
Parciales + 11 Parciales 000
1001 + 111
100011
Escuela Politécnica Superior 59

OPERACIONES EN BINARIO PURO


3. Multiplicación Binaria
3.1. Multiplicación directa de naturales en binario
- Ejemplo:
Ej l

• 10112 * 1112 = 10011012

3.2. Reducción de producto a sumas reiteradas

x * y = ∑i =1 x
y
∀x, y

Escuela Politécnica Superior 60

30
OPERACIONES EN BINARIO PURO
4. División Binaria
4.1. División directa de naturales en binario
- Algoritmo:
Al it mismo
i algoritmo
l it que en d
decimal.
i l
- Ejemplo:
1100 100 1100 100
100 1 100 1
0100
110 0 100 1100 100
100 11 100 11
0100 0100
100
Escuela Politécnica Superior
000 61

OPERACIONES EN BINARIO PURO


4. División Binaria
4.1. División directa de naturales en binario
• Ejemplo:
Ej l Realizar
R li l siguientes
las i i t divisiones
di i i bi
binarias:
i
(a) 110 ÷ 11 (b) 110 ÷ 10
Solución.
(a) 10 2 (b) 11 3
11)110 3)6 10)110 2)6
11 6 10 6
000 0 10 0
10
00
Escuela Politécnica Superior 62

31
OPERACIONES EN BINARIO PURO
4. División Binaria
4.1. División directa de naturales en binario
- Ejemplo:
Ej l

• 11011002 ÷ 1002 = 110112 con resto 0

4.2. Reducción de división a restas reiteradas

Escuela Politécnica Superior 63

CARACTERÍSTICAS DE ENTEROS EN
BINARIO PURO

11... 111
11... 110
11
11... 101
•Anomalías en la resta:
resultados erróneos
• 310 - 710

11
111
00... 011 100
00... 010 2n-2
00... 001
00... 000

0 123 2n-3 2n-1

Escuela Politécnica Superior 64

32
REDUCCIÓN DE OPERACIONES,
RESTAS A SUMAS
• No es necesario realizar restas.
• Uso del opuesto:
p

∀x ∃opuesto(x) = -x x - x = 0
y
x - y = x + opuesto(y) ∀ x, y

• El tamaño utilizado para representar números:


- Observación sobre el tamaño de almacenamiento.
- Acarreo y desbordamiento.

Escuela Politécnica Superior 65

COMPLEMENTO A 1 Y COMPLEMENTO A 2
DE LOS NÚMEROS BINARIOS
• El complemento a 1 y el complemento a 2 de un
número binario son importantes porque permiten la
representación de números negativos.
• La aritmética en complemento a 2 se usa comúnmente
en las computadoras para manipular los números
negativos.
• Obtención del Complemento a 1 de un Número Binario
- El complemento a 1 de un número binario se obtiene
cambiando todos los 1s por 0s y todos los 0s por 1s:
1 0 1 1 0 0 1 0 Número binario

0 1 0 0 1 1 0 1 Complemento a 1

Escuela Politécnica Superior 66

33
COMPLEMENTO A 1 Y COMPLEMENTO A 2
DE LOS NÚMEROS BINARIOS
• Obtención del Complemento a 2 de un Número Binario
- El complemento a 2 de un número binario se obtiene
s
sumando
d 1 all LSB del
d l complemento
l t a 1.
1

Complemento a 2 = (Complemento a 1) + 1

- Ejemplo: Hallar el complemento a 2 de 10110010


Solución.
10110010 Número Binario
01001101 Complemento a 1
+ 1 Se suma 1
01001110 Complemento a 2

Escuela Politécnica Superior 67

COMPLEMENTO A 1 Y COMPLEMENTO A 2
DE LOS NÚMEROS BINARIOS
- Método alternativo para obtener el complemento a 2 de
un número binario:
11. Se
S empieza
i por la
l derecha
d h con ell LSB y se escriben
ib los
l
bits como están hasta encontrar el primer 1, incluido
éste.
2. Se calcula el complemento a 1 de los bits restantes.
Ejemplo: Calcular el complemento a 2 de 10111000,
utilizando el método alternativo.
Solución.
l ó
10111000 Número binario
Complemento a 1 01001000 Complemento a 2
de los bits originales
Estos bits no varían
Escuela Politécnica Superior 68

34
NÚMEROS CON SIGNO. REPRESENTACIÓN
DE ENTEROS EN COMA FIJA
- Los sistemas digitales, tales como la computadora,
deben ser capaces de manejar números positivos y
negativos.
- Un número binario con signo queda determinado por su
magnitud y su signo.
- El signo indica si un número es positivo o negativo, y la
magnitud es el valor del número.
- Existen tres formatos binarios para representar los
números enteros con signo:
signo-magnitud, complemento a 1 y complemento a 2.
- Los números no enteros y muy grandes o muy pequeños
pueden expresarse en formato de coma flotante.
Escuela Politécnica Superior 69

REPRESENTACIÓN DE ENTEROS EN COMA


FIJA SIGNO
SIGNO--MAGNITUD
• El bit de signo
- Se reserva un dígito para representar el signo del
número En general,
número. general el bit más a la izquierda en un
número binario con signo es el bit de signo, que indica si
el número es positivo o negativo. El significado suele ser:
0, número positivo y 1, número negativo.
Se utiliza un 0 para el signo positivo y un 1 para el signo negativo.
• Sistema Signo-Magnitud
- Cuando un número binario con signo se representa en
formato signo-magnitud, el bit más a la izquierda es el
bit de signo y los bits restantes son los bits de
magnitud.
Escuela Politécnica Superior 70

35
REPRESENTACIÓN DE ENTEROS EN COMA
FIJA SIGNO
SIGNO--MAGNITUD
• Sistema Signo-Magnitud
- Los bits de magnitud son el número binario real (no com-
plementado) tanto para los números positivos como para
los negativos. Por ejemplo: el número decimal 25 es:
00011001

Bit de signo Bits de magnitud


El número decimal -25 se expresa así:
10011001
En el sistema signo-magnitud, un número negativo tiene los
mismos bits de magnitud que el correspondiente número
positivo, pero el bit de signo es un 1 en lugar de un cero.
Escuela Politécnica Superior 71

REPRESENTACIÓN DE ENTEROS EN COMA FIJA


• Sistema del Complemento a 1
- Los números positivos en el sistema del complemento a 1 se
representan de la misma forma que en el formato signo-magnitud.
- Los números negativos son el complemento a 1 del correspondiente
número positivo.
11100110
En el sistema del complemento a 1, un número negativo es el
complemento a 1 del correspondiente número positivo.
• Sistema del Complemento a 2
- Los números positivos en el sistema del complemento a 2 se
representan de la misma forma que en los sistemas de complemento
a 1 y de signo-magnitud.
- Los números negativos son el complemento a 2 del correspondiente
número positivo.
11100111
En el sistema del complemento a 2, un número negativo es el
complemento a 2 del correspondiente número positivo.

Escuela Politécnica Superior 72

36
CONVERSIONES DECIMAL /
SIGNO-
SIGNO -MAGNITUD

1. Conversiones decimal signo magnitud:


• Como binario pero el signo por separado.
• Ejemplos:
• Si n = 7 y se desea representar 2710 ,
su representación es 0011011
• Si n = 7 y se desea representar
p –2710 ,
su representación es 1011011

Escuela Politécnica Superior 73

CONVERSIONES DECIMAL /
SIGNO-
SIGNO -MAGNITUD
2. Conversiones signo-magnitud decimal:

- Ejemplos:
j p
• Si n = 9 y el valor de 001101101, es 10910
• Si n = 9 y el valor de 100110101, es -5310

Escuela Politécnica Superior 74

37
VALOR DECIMAL DE LOS NÚMEROS CON SIGNO
• Signo-magnitud
- Los valores decimales de los números positivos y
negativos se determinan sumando los pesos de todas
las posiciones de los bits de magnitud, cuando son 1s,
e ignorando aquellas posiciones en las que haya cero.
cero
El signo se determina por medio del examen del bit
de signo.
- Ejemplo: Determinar el valor decimal del número binario
con signo expresado como signo magnitud: 10010101.
Solución.
Los siete bits de magnitud
g y sus pesos
p potencias
p de dos son:
26 25 24 23 22 21 20
0 0 1 0 1 0 1
Sumando los pesos de las posiciones donde hay 1s, se tiene:
16 + 4 + 1 = 21
El bit de signo es 1, por tanto, el número es -21.

Escuela Politécnica Superior 75

OPERACIONES DE ENTEROS EN
COMA FIJA SIGNO-
SIGNO-MAGNITUD
1. Calculo del opuesto
- Inversión del bit más a la izquierda
2. Sumas y restas
- Necesidad de analizar los signos. Ejemplo, para la suma:

Signo X1 Signo X2 Operación Ejemplo


0 (+) 0 (+) X 1 + X2 3+7=3+7=10
0 ((+)) 1 ((-)) X1 - X2 3 ( 7) 3 7 4
3+(-7)=3-7=-4
1 (-) 0 (+) X 2 - X1 (-3)+7=7-3=4
1 (-) 1 (-) - ( X1 + X 2 ) -3-7=-(3+7)=-10

Escuela Politécnica Superior 76

38
OPERACIONES DE ENTEROS EN
COMA FIJA SIGNO-
SIGNO-MAGNITUD

• Ejemplos:
• Sumar -9
910 y -3
310 = en signo magnitud
d con n=6
6
-910 se representa como 101001
-310 se representa como 100011
Para sumar se sumará 3 de 9 con resultado negativo

101001 Los signos


L i 01001 Se
S 101100
100011 determinan 00011 añade el
la operación signo
01100
suma
Escuela Politécnica Superior 77

CARACTERÍSTICAS DE SIGNO-
SIGNO-
MAGNITUD
• Desbordamientos:
Si n = 5 , x = 1110 , y = 610
x es 01011, y es 00110
Su suma es 10001 (aparentemente -1)
- Rango de representación: [-2n-1-1, 2n-1-1].
• Dos representaciones para el 0:
• 0...(n-2 ceros)...0
• 10...(n-3 ceros)...0
• Operaciones son complicadas.
Escuela Politécnica Superior 78

39
REPRESENTACIÓN COMPLEMENTO RESTRINGIDO
A LA BASE
BASE--1 (COMPLEMENTO A 1 CON BASE 2)
• El complemento a 1 de un valor es:
• El complemento lógico dígito a dígito de su
representación en binario puro,
puro si es negativo
negativo.
• Su representación en binario puro, si es positivo.
• Distinción entre positivos y negativos:
• Comienzo 0 significa positivo.
• Comienzo 1 significa negativo.
•D
Desbordamientos:
m
• Ejemplo: valores mayores de 2n-1-1 (una cadena de
n-1 dígitos igual a 1) son positivos pero se
interpretan como negativos.

Escuela Politécnica Superior 79

REPRESENTACIÓN COMPLEMENTO RESTRINGIDO


A LA BASE
BASE--1 (COMPLEMENTO A 1 CON BASE 2)
1. Conversiones: Complemento a 1 decimal
• Algoritmo:

• Si ell 1er bit es 0,


0 entonces
t se aplica
li la
l
conversión de binario a decimal.
• Si el 1er bit es 1, entonces se aplica el
complemento a 1 y se aplica la conversión de
binario a decimal y el valor es su opuesto.
• Ejemplos:
• El número en complemento a 1 10011 representa el valor
-12, ya que es el opuesto del número binario 011002 = 1210
• El número en complemento a 1 000100 representa el valor
410
Escuela Politécnica Superior 80

40
VALOR DECIMAL DE LOS NÚMEROS CON SIGNO

• Complemento a 1
- Los valores decimales de los números positivos en el
sistema de complemento a 1, se determinan sumando
todas las posiciones de bit donde haya 1s, y se ignoran
aquellas posiciones donde haya ceros.
- Los valores decimales de los números negativos se
determinan asignando el valor negativo al peso del bit
de signo, y sumando todos los pesos donde haya 1s, y
añadiendo
ñ di d luego
l 1 all resultado.
l d

Escuela Politécnica Superior 81

VALOR DECIMAL DE LOS NÚMEROS CON SIGNO

• Complemento a 1
- Ejemplo: Determinar el valor decimal de los números
binarios con signo expresados en complemento a 1:
(a) 00010111 (b) 11101000
Solución. Para (a) 00010111:
(a) Los bits y sus pesos según las potencias de dos para
el número positivo son:
-27 26 25 24 23 22 21 20
0 0 0 1 0 1 1 1

sumando los pesos donde hay 1s:


16 + 4 + 2 + 1 = +23
Escuela Politécnica Superior 82

41
VALOR DECIMAL DE LOS NÚMEROS CON SIGNO

• Complemento a 1

- Ejemplo: (Continuación)
Solución Para (b) 11101000:
Solución.
(b) Los bits y sus pesos según las potencias de dos para
el número negativo son los siguientes ( el bit de signo
negativo tiene un peso de -27, es decir, -128 ):
-27 26 25 24 23 22 21 20
1 1 1 0 1 0 0 0
sumando los pesos donde hay 1s
-128 + 64 + 32 + 8 = -24
sumando 1 al resultado, el número final es:
-24 + 1 = -23
Escuela Politécnica Superior 83

OPERACIONES EN COMPLEMENTO A 1
1. Cálculo del opuesto en complemento a 1
• Algoritmo:

• El opuesto de un número en complemento a 1


es su complemento a 1

• Ejemplos:
• -210 con 5 dígitos es 11101, su opuesto es 210
• 1210 con 5 dígitos es 01100, su opuesto es -1210

Escuela Politécnica Superior 84

42
OPERACIONES EN COMPLEMENTO A 1
2. Suma en complemento a 1
• Algoritmo:
Sumar en bi
S binario
i puro (excepto cuando ambos son positivos o negativos):
• Si no hay acarreo final, el resultado es negativo.
• Si hay acarreo final, el resultado es positivo pero
hay que sumar el acarreo al resultado.
• Ejemplos:
• Si n=8
n=8, x=63
x=63, y=
y=-28
28
• Si n=9, x=-75, y=40

Escuela Politécnica Superior 85

OPERACIONES EN COMPLEMENTO A 1
3. Resta o sustracción en complemento a 1
- La sustracción es un caso especial de la suma.
- Por ejemplo, restar +6 (el sustraendo) de +9 (el minuendo)
es equivalente a sumar -6 a +9.
- Básicamente la operación de la sustracción cambia el signo
del sustraendo y le suma al minuendo.
- El resultado de una sustracción se denomina diferencia.
• El
E ssigno
gno de un núm
númeroro binario
nar o pos
positivo
t o o n
negativo
gat o sse
cambia calculando su complemento a 1.
• Para restar dos números con signo se calcula el
complemento a 1 del sustraendo y se suman. Cualquier
bit de acarreo final se suma al LSB (de más a la
derecha).
Escuela Politécnica Superior 86

43
OPERACIONES EN COMPLEMENTO A 1
3. Resta o sustracción en complemento a 1
- Ejemplo:
Forma normal Forma en complemento a 1

001111 1 1 0011 1 111 6310


- 00011100 + 1 1100011 - 2810
100100010
Acarreo final
1
00100011 3510
- Si no hubiera
h bi un bit
bi de
d acarreo final,
fi l entonces ell
resultado es un número negativo representado en la
forma de complemento a 1. La magnitud del resultado
se puede determinar obteniendo su complemento a 1.
Escuela Politécnica Superior 87

OPERACIONES EN COMPLEMENTO A 1
3. Resta o sustracción en complemento a 1
- Ejemplo: Restar 6310 de 2810.
Forma normal Forma en complemento a 1
00011100 00011100 2810
- 001111 1 1 + 1 1000000 - 6310
No hay acarreo final 110 1 1 100 - 3510

- No se tiene un bit de acarreo final, por tanto el


resultado es un número negativo
g en complemento
p a
1. Se debe determinar su complemento a 1 para
obtener su magnitud; en este caso es: 00100011 o
3510. Como su signo es negativo, el resultado real
es: -3510.
Escuela Politécnica Superior 88

44
CARACTERÍSTICAS DEL COMPLEMENTO A 1
• El complemento a 1 es el complemento lógico.
• Desbordamientos posibles en la suma:
• Ejemplo:
Ej l n=6,
6 x=27,
27 y=22
22
• Dos representaciones del 0: 0...(n-2)...0 cero
“positivo” y 1...(n-2)...1 cero “negativo”.
• Misma magnitud de máximos enteros (positivo
y es 2n-1-1 y negativo
mayor g menor es
-(2n-1-1); por ejemplo 31 y -31, si n=6).
• Rango de representación: [0, 2n-1-1] para los
positivos y [-(2n-1-1), -0] para los negativos.

Escuela Politécnica Superior 89

REPRESENTACIÓN COMPLEMENTO A LA
BASE (COMPLEMENTO A 2 CON BASE 2)
• El complemento a 2 de un valor es:
• El resultado de la suma binaria de 1 y el complemento a 1
del número
número, si es negativo.
negativo
• Su representación en binario puro, si es positivo.
• Ejemplos:
• -210 con 5 dígitos es 11110
210 = 000102 , -210 en complemento a 1 es 11101
12 + 111012 da el complemento a 2: 11110
• 1210 con 5 dígitos es 01100
01100, 1210 = 011002
• 910 con 4 dígitos
910 = 10012 , 1001 sería el complemento a 2 ¡¡¡ERROR!!!

Escuela Politécnica Superior 90

45
REPRESENTACIÓN COMPLEMENTO A LA
BASE (COMPLEMENTO A 2 CON BASE 2)

• Observaciones:
• Positivos y negativos ( 1er bit 0(+), 1(-) )
• Desbordamientos:
• Ejemplo: valores mayores de 2n-1-1 (una
cadena de n-1 dígitos igual a 1) son positivos
pero se interpretan como negativos.

Escuela Politécnica Superior 91

REPRESENTACIÓN COMPLEMENTO A LA
BASE (COMPLEMENTO A 2 CON BASE 2)
1. Conversiones complemento a 2 decimal
• Algoritmo:
• Si el 1er bit es 0,
0 entonces se aplica la
conversión de binario a decimal.
• Si el 1er bit es 1, entonces se realiza el
complemento a 2 y se aplica la conversión de
binario a decimal y el valor es su opuesto.
• Ejemplos:
• Con 5 bits el número en complemento a 2 10100 representa
el valor -1210 , ya que el complemento a 2 de 10100 es 01100
y representa el valor binario puro de su opuesto 011002 = 1210
• Con 6 bits el número en complemento a 2 0001002 representa
el valor 410
Escuela Politécnica Superior 92

46
VALOR DECIMAL DE LOS NÚMEROS CON SIGNO

• Complemento a 2
- Los valores decimales de los números positivos y
negativos en el sistema de complemento a 2, se
determinan sumando los pesos de todas las posiciones
de bit donde haya 1s, e ignorando aquellas posiciones
donde haya ceros.

- El peso del bit de signo en un número negativo viene


determinado por su valor negativo.

Escuela Politécnica Superior 93

VALOR DECIMAL DE LOS NÚMEROS CON SIGNO


• Complemento a 2
- Ejemplo: Determinar los valores decimales de los números
binarios con signo expresados en complemento a 2:

(a) 01010110 (b) 10101010


Solución. Para (a) 01010110:
(a) Los bits y sus pesos según las potencias de dos para el
número positivo son:
-2
27 26 25 24 23 22 21 20
0 1 0 1 0 1 1 0
sumando los pesos donde hay 1s:
64 + 16 + 4 + 2 = +86
Escuela Politécnica Superior 94

47
VALOR DECIMAL DE LOS NÚMEROS CON SIGNO

• Complemento a 2
- Ejemplo: (Continuación)
Solución Para (b) 10101010:
Solución.
(b) Los bits y sus pesos según las potencias de dos para el
número negativo son los siguientes (obsérvese que el
bit de signo negativo tiene un peso de -27, es decir,
-128):
-27 26 25 24 23 22 21 20
1 0 1 0 1 0 1 0
sumando los pesos donde hay 1s.
-128 + 32 + 8 + 2 = -86
Escuela Politécnica Superior 95

OPERACIONES EN COMPLEMENTO A 2
1. Cálculo del opuesto en complemento a 2
• Algoritmo:

El opuesto de un número en complemento a 2


es su complemento a 2

• Ejemplos:
• -210 con 5 dígitos es 11110, su opuesto es 210
(00010)
• 1210 con 5 dígitos
dí i es 01100,
01100 su opuesto es -12
1210
(10100)

Escuela Politécnica Superior 96

48
OPERACIONES EN COMPLEMENTO A 2
2. Suma en Complemento a 2
• Algoritmo:
Sumar en binario puro (excepto cuando ambos son positivos o negativos):
• Si no hay acarreo final, el resultado es negativo.
• Si hay acarreo final, el resultado es positivo (se
desprecia el acarreo).
• Ejemplos:
• Si n=8, x=63, y
y=-28
• 63 en complemento a 2 es 00111111
• -28 en complemento a 2 es 11100100
2810 = 000111002 (8 bits)

Escuela Politécnica Superior 97

OPERACIONES EN COMPLEMENTO A 2

2. Suma en Complemento a 2

• Ejemplos: (Continuación)
28 en complemento a 1 es 11100011
12 + 111000112 = 111001002
•Se suma
0011 11 1 1
111001 00
100100011
• El resultado es 00100011 (001000112 = 3510).
• Si n=9, x=-75, y=40 ; x+y = 111011101 que es -3510

Escuela Politécnica Superior 98

49
OPERACIONES EN COMPLEMENTO A 2

• Suma
- Los dos números en una suma se denominan sumandos.
- El resultado es la suma.
- Cuando se suman dos números binarios con signo pueden
producirse cuatro casos:
1. Ambos números son positivos.
2. El número positivo es mayor que el negativo en valor
absoluto
absoluto.
3. El número negativo es mayor que el positivo en valor
absoluto.
4. Ambos números son negativos.

Escuela Politécnica Superior 99

OPERACIONES EN COMPLEMENTO A 2
• Suma

- Ambos números son positivos:


00000111 7
+ 00000100 +4
00001011 11

- La suma es positiva y, por tanto, es un número


binario real (no complementado).

Escuela Politécnica Superior 100

50
OPERACIONES EN COMPLEMENTO A 2
• Suma
- El número positivo es mayor que el número
negativo en valor absoluto:
00001111 15
+ 11111010 - 6
Acarreo que 1 00001001 9
se descarta

- El bit de acarreo final no se tiene en cuenta. La suma


ess positiva
siti y, por tanto
t t ess un número
ú bi
binario
i reall (no
(
complementado).

Escuela Politécnica Superior 101

OPERACIONES EN COMPLEMENTO A 2

• Suma
- E
El número
m negativo
g es mayor
m y que
q el número
m
positivo en valor absoluto:
00010000 16
+ 11101000 + - 24
11111000 -8
- La suma es negativa
g y,
y por
p tanto, está en
complemento
l a 2.
2

Escuela Politécnica Superior 102

51
OPERACIONES EN COMPLEMENTO A 2
• Suma
- Ambos números son negativos:

11111011 -5
+ 11110111 + -9
Acarreo que 1 11110010 -14
se descarta

- El bit de acarreo final no se tiene en cuenta. La suma


es negativa y, por tanto, está en complemento a 2.

Escuela Politécnica Superior 103

OPERACIONES EN COMPLEMENTO A 2
• Condición de desbordamiento (overflow)
- Cuando se suman dos números y el número de bits
q
requerido para representar
p p la suma excede al número
de bits de los dos números, se produce un
desbordamiento que se indica mediante un bit de signo
incorrecto.
- Un desbordamiento se puede producir sólo cuando
ambos números son positivos o negativos.
• Por ejemplo:
01111101 125
+ 00111010 + 58
10110111 183
Signo incorrecto
Magnitud incorrecta
Escuela Politécnica Superior 104

52
OPERACIONES EN COMPLEMENTO A 2
• Sustracción
- La sustracción es un caso especial de la suma.
- Por ejemplo,
j p , restar +6 ((el sustraendo)) de +9 ((el minuendo))
es equivalente a sumar -6 a +9.
- Básicamente la operación de la sustracción cambia el signo
del sustraendo y le suma al minuendo.
- El resultado de una sustracción se denomina diferencia
• El signo de un número binario positivo o negativo se
cambia calculando su complemento a 2.
• Para restar dos números con signo se calcula el
complemento a 2 del sustraendo y se suman descartando
cualquier bit de acarreo final.
Escuela Politécnica Superior 105

CARACTERÍSTICAS DEL COMPLEMENTO A 2

• Suma independiente del signo.


• Más complicado que el complemento a 1.
• Posibilidad de desbordamientos:
- Ejemplo: 7910 + 11610 con n=8 resultado (11000011)
aparentemente -61, 19510 = 110000112 > 127 = 27-1
• Cero único (0...(n-2 ceros)...0).
• Un negativo representable más ([-2n-1, 2n-1-1], si
n=6, [-32, 31]).

Escuela Politécnica Superior 106

53
RANGO DE REPRESENTACIÓN DE LOS
NÚMEROS CON SIGNO
- Fórmula para calcular el número de combinaciones
diferentes de n bits:
Nº total de combinaciones = 2n
- Para los números con signo en complemento a 2, el rango de
valores para números de n bits es:
-(2n-1) a +(2n-1 - 1)
habiendo en cada caso un bit de signo y n-1 bits de
magnitud.
Por ejemplo, con cuatro bits pueden representarse
números en complemento a 2 en el rango de -(23) =-8 hasta
23-1=+7. Del mismo modo, con ocho bits, se puede abarcar
desde -128 hasta 127; con dieciséis bits se puede ir de
-32.768 hasta 32.767, etc.
Escuela Politécnica Superior 107

REPRESENTACIÓN EN EXCESO A M
1. Definición
La representación en exceso a M de un valor
x es la de x+M en binario puro.
Si n es el número de dígitos,
dígitos suele ser M=2nn-1.

• Observación
• No es un nuevo sistema de representación.
• Ejemplos:
• Si n=8 y M=128
• -3 es 12510 = 01111101
• 0 es 12810 = 10000000
• -128 es 010 = 00000000
• 127 es 25510 = 11111111
Escuela Politécnica Superior 108

54
REPRESENTACIÓN EN EXCESO A M
2. Características
• Es un sistema utilizado para la representación de
números reales en coma flotante.
• Similares a complemento a 2.

Escuela Politécnica Superior 109

NÚMEROS EN COMA FLOTANTE


- Un número en coma flotante (también conocido como
número real) tiene dos partes más un signo: mantisa y
exponente.
- La mantisa es la p
parte del número en coma f
flotante q
que
representa la magnitud del número.
- El exponente es la parte del número en coma flotante
que representa el número de lugares que se va a
desplazar el punto decimal (o punto binario).
- Para los números en coma flotante binarios, existe el
formato definido por el estándar ANSI/IEEE 754-
1985, que puede tomar tres formas: simple precisión
(32 bits), doble precisión (64 bits) y precisión ampliada
(80 bits).
Escuela Politécnica Superior 110

55
ESTÁNDARES DE REPRESENTACIÓN DE
COMA FLOTANTE
- Necesidad de estándares. Hay problemas relacionados
con coma flotante:
• Diferentes precisiones.
• Errores
E d redondeo.
de d d
• Implementación de las operaciones.
• Excepcionales: División entre 0; Desbordamiento.
• Diferentes fabricantes han proporcionado
soluciones completas a estas situaciones a las que
se conoce como estándares de representación de
coma flotante.
- Ejemplos: (a) Estándar de IEE; (b) Estándares de
IBM; y (c) Estándar de IEEE 754-1985.
Escuela Politécnica Superior 111

ESTÁNDAR IEEE. NÚMEROS


BINARIOS EN COMA FLOTANTE DE
SIMPLE PRECISIÓN
- En el formato estándar ANSI/IEEE 754 754-1985
1985 para un
número binario de simple precisión, el bit de signo (S) es
el que se encuentra más a la izquierda, el exponente (E)
incluye los siguientes 8 bits y la mantisa o parte
fraccionaria (F) incluye los restantes 23 bits.

32 bits
S Exponente (E) Mantisa (parte fraccionaria, F )
1 bit 8 bits 23 bits

Escuela Politécnica Superior 112

56
ESTÁNDAR IEEE. NÚMEROS
BINARIOS EN COMA FLOTANTE DE
SIMPLE PRECISIÓN
- En la mantisa o parte fraccionaria, se entiende que el
punto binario estará a la izquierda de los 23 bits.
- Realmente, la mantisa consta de 24 bits, ya que, en
cualquier número binario, el bit más a la izquierda (más
significativo) es siempre 1. Por tanto, este 1 se entiende
que estará allí aunque no ocupe una posición de bit real.
- Los 8 bits de los que consta el exponente representan
un exponente desplazado que se ha obtenido mediante la
adición
di ión de
d 127 all exponente
xp n nt real.
l
- El propósito de este desplazamiento es poder definir
números muy grandes o muy pequeños sin necesidad de
emplear un bit de signo diferente para el exponente.

Escuela Politécnica Superior 113

ESTÁNDAR IEEE. NÚMEROS


BINARIOS EN COMA FLOTANTE DE
SIMPLE PRECISIÓN
- El exponente desplazado permite emplear un rango de
valores para los exponentes comprendidos entre -126
y +128.
- Ejemplo:
1011010010001 = 1,011010010001 x 212
S E F
0 10001011 01101001000100000000000

Número = (-1)s (1 + F) (2E-127)

Escuela Politécnica Superior 114

57
ESTÁNDAR IEEE. NÚMEROS BINARIOS EN
COMA FLOTANTE DE SIMPLE PRECISIÓN
- Ejemplo del método: dado el siguiente número binario en
coma flotante, determinar el número decimal
correspondiente:
p

1 10010001 10001110001000000000000

El bit de signo es 1. El exponente desplazado es:


10010001 = 145 ; aplicando la formula, obtenemos

Número = ((-1)
1)1 (1.10001110001)
(1 10001110001) (2145-127
145 127)

= (-1) (1.10001110001) (218) = -1100011100010000000


Este número binario en coma flotante es equivalente a:
-407.680 en decimal.
Escuela Politécnica Superior 115

ESTÁNDAR IBM. NÚMEROS BINARIOS


EN COMA FLOTANTE DE SIMPLE
PRECISIÓN
- En el formato estándar IBM para un número binario de
simple precisión, el bit de signo (S) es el que se
encuentra más a la izquierda, el exponente (E) incluye los
siguientes 7 bits y la mantisa (M) incluye los restantes
24 bits.

Bit 31 30 29 28 27 26 25 24 23 … 0
32 bits
S 26 … 20 2-1 … 2-24
S < Exponente (E) desplazado > < Mantisa (M) >

Escuela Politécnica Superior 116

58
ESTÁNDAR IEE. NÚMEROS BINARIOS
EN COMA FLOTANTE DE SIMPLE
PRECISIÓN
- En el formato estándar IEE para un número binario de
simple precisión, el bit de signo (S) es el que se
encuentra en el bit 24, el exponente (E) incluye los 7
bits de más a la izquierda y la mantisa (M) incluye los
restantes 24 bits.

Bit 31 30 29 28 27 26 25 24 23 … 0
32 bits
26 … 20 S 2-1 … 2-24
< Exponente (E) desplazado > S< Mantisa (M) >

Escuela Politécnica Superior 117

ESTÁNDAR IEE. NÚMEROS BINARIOS


EN COMA FLOTANTE DE SIMPLE
PRECISIÓN
- Presenta dos precisiones: Precisión Sencilla o Simple
Precisión (32 bits, es decir dos palabras de 16 bits) y
D bl Precisión
Doble P i ió (64 bits,
bi es decir
d i cuatro palabras
l b d 16
de
bits).
- Observación práctica: Aparición frecuente de la
representación interna en hexadecimal. La base usada
en el estándar IEE es 16.
- Método para el estándar IEE. Ejemplo 1: ¿Cómo se
representa
p s nt por p ejemplo
j mpl ell número
núm 10 5010 en
10.50 n coma
m
flotante de simple precisión?

Escuela Politécnica Superior 118

59
ESTÁNDAR IEE. NÚMEROS BINARIOS
EN COMA FLOTANTE DE SIMPLE
PRECISIÓN
- Pasos:
11. Convertir 10.50
10 5010 a la base 16,
16 ya que la base usada en
este estándar es la 16. Es decir A.816.
2. Normalizar el número, es decir debemos mover el
punto decimal a la izquierda hasta que el número esté
normalizado. Un número en coma flotante está
normalizado cuando el dígito inmediatamente a la
derecha del punto (en la izquierda de la mantisa) no es
un 0 mientras
mi nt s que
qu ell número
núm a la
l izquierda
i qui d del
d l punto
punt
decimal es un 0. Este 0 se omite cuando el número es
almacenado como una fracción. Es decir, tenemos:
.A8 E16 + 1.

Escuela Politécnica Superior 119

ESTÁNDAR IEE. NÚMEROS BINARIOS


EN COMA FLOTANTE DE SIMPLE
PRECISIÓN
- Pasos:
3. En el estándar IEE el exponente está desplazado por
64 es decir está en exceso 6410. Así,
64, Así tenemos:
Desplazamiento + Exponente = Exponente Desplazado
6410 + 110 = 6510
Es decir 10000012 .
4. El signo es positivo, el bit que presenta el signo será
0.
5. El resultado final es:
1000 001 0 1010 1000 0000 0000 0000 0000
Exponente (E) desplazado S Mantisa (M)
8 2 A 8 0 0 0 016
Escuela Politécnica Superior 120

60
ESTÁNDAR IEE. NÚMEROS BINARIOS
EN COMA FLOTANTE DE SIMPLE
PRECISIÓN
- Ejemplo 2. Determinar el valor decimal del siguiente
número en hexadecimal en la forma de coma flotante
según el estándar IEE
IEE: 84 16 38 52.
- Pasos:
1. Convertir a binario el número hexadecimal:
8 4 1 6 3 8 5 2
1000 010 0 0001 0110 0011 1000 0101 0010
<Exponente>
p Signo
g < Mantisa >

Signo: el bit de signo es 0, ya que el número es


positivo.

Escuela Politécnica Superior 121

ESTÁNDAR IEE. NÚMEROS BINARIOS


EN COMA FLOTANTE DE SIMPLE
PRECISIÓN
- Pasos:
2. Exponente: 10000102 = 6610 con un desplazamiento de
64 entonces el exponente real es E16 + 2.
64, 2
3. Mantisa: 16385216.
4. Como el exponente que hemos determinado es +2,
podemos desnormalizar el número moviendo dos lugares
a la derecha la coma decimal, así tenemos:
16.385216
5. Convertimos ahora a la base 10 el número y tenemos:
(1 x 161) + (6 x 160) , (3 x 16-1) + (8 x 16-2) + (5 x 16-3) + (2 x 16-4)
y finalmente se tiene: 22.2210.

Escuela Politécnica Superior 122

61
REPRESENTACIONES DE NÚMEROS
RACIONALES EN SISTEMAS POSICIONALES
1. Representación de la parte entera
• Visto en sesiones anteriores
2. Representación
p de la parte
p fraccionaria
• Convenios:
- Separación de la parte entera por la coma: ,
- Colocación: a la derecha de la parte entera.
parte_entera,parte_fraccionaria

• Ejemplos:
13,9510
A42F,1C16
36,7418
1011110,11012
Escuela Politécnica Superior 123

REPRESENTACIONES DE NÚMEROS
RACIONALES EN SISTEMAS POSICIONALES
1. Valor de un número fraccionario en base b

• El valor del número


e,f
• Se calcula:
- Suma del valor de la parte entera (e), y del
valor de la parte fraccionaria (f).

• Valor de la parte entera


- Visto en sesiones anteriores

Escuela Politécnica Superior 124

62
REPRESENTACIONES DE NÚMEROS
RACIONALES EN SISTEMAS POSICIONALES
• Valor de la parte fraccionaria

- Valores para las nuevas posiciones

Número … X4 X3 X2 X1 X0 ¸ X-1 X-2 X-3 X-4 X-5 …

Posición … 4 3 2 1 0 ¸ -1 -2 -3 -4 -5 …

Valor … b4 b3 b2 b1 b0 ¸ b-1 b-2 b-3 b-4 b-5 …

Escuela Politécnica Superior 125

REPRESENTACIONES DE NÚMEROS
RACIONALES EN SISTEMAS POSICIONALES
• Ejemplos
• Binario: 1011110,11012 = 94,812510
1 0 1 1 1 1 0 , 1 1 0 1

26 25 24 23 22 21 20 2-1 2-2 2-3 2-4


• Octal: 36,7418 = 30,93945312510
3 6 , 7 4 1
81 80 8-1 8-2 8-3
• Hexadecimal: A42F,1C16 = 42031,10937510
A 4 2 F , 1 C
163 162 161 160 16-1 16-2
Escuela Politécnica Superior 126

63
CONVERSIONES DE RACIONALES
• Para convertir a otra base el número
e,f
• Se procede:
• Se convierte la parte entera (e).
• Se convierte la parte fraccionaria (f).
• Se escriben separadas por la coma.

- La conversión de la parte entera se ha visto en


sesiones anteriores.
• Conversiones de la parte fraccionaria a la decimal
- Se puede aplicar el cálculo de valor (decimal)
visto en sesiones anteriores.
Escuela Politécnica Superior 127

CONVERSIONES DE PARTE
FRACCIONARIA
1. Conversión decimal hexadecimal
- Para convertir la parte fraccionaria decimal a
hexadecimal se procede:
• Posición -1
• Repetir hasta suficiente número de decimales
hexadecimales:
- dígito de la posición parte_entera(decimalx16)
- decimal parte_fraccionaria(decimalx16)
- posición posición - 1

Escuela Politécnica Superior 128

64
CONVERSIONES DE PARTE
FRACCIONARIA
• Ejemplos:
• 135,7810 = 87,C7...16
• Parte Entera:
• 13510 = 8716
• Parte Fraccionaria:
• 0,78 x 16 = 12,48 ⇒ dígito -1: 1210 = C16
• 0,48 x 16 = 7,48 ⇒ dígito -2: 710 = 716
• ...

Escuela Politécnica Superior 129

CONVERSIONES DE PARTE
FRACCIONARIA
2. Conversión decimal octal
- Para convertir la parte fraccionaria decimal en
octal se procede:
• Posición -1
• Repetir hasta suficiente número de decimales octales:
- dígito de la posición parte_entera(decimalx8)
- decimal parte fraccionaria(decimalx8)
parte_fraccionaria(
- posición posición - 1

Escuela Politécnica Superior 130

65
CONVERSIONES DE PARTE
FRACCIONARIA
• Ejemplos:
• 135,7810 = 207,61...8
• Parte Entera:
• 13510 = 2078
• Parte Fraccionaria:
• 0,78 x 8 = 6,24 ⇒ dígito -1: 610 = 68
• 0,24 x 8 = 1,92 ⇒ dígito -2: 110 = 18
• …

Escuela Politécnica Superior 131

CONVERSIONES DE PARTE
FRACCIONARIA
3. Conversión decimal binario
- Para convertir la parte fraccionaria decimal a
binario se procede:

• Posición -1
• Repetir hasta suficiente número de decimales binarios:
- dígito de la posición parte_entera(decimalx2)
- decimal parte fraccionaria(decimalx2)
parte_fraccionaria(
- posición posición - 1

Escuela Politécnica Superior 132

66
CONVERSIONES DE PARTE
FRACCIONARIA
• Ejemplos:
• 135,7810 = 10000111,110001...2
• Parte Entera:
• 13510 = 100001112
• Parte Fraccionaria:
• 0,78 x 2 = 1,56 ⇒ dígito -1: 1
• 0,56 x 2 = 1,12 ⇒ dígito -2: 1
• 0,12 x 2 = 0,24 ⇒ dígito -3: 0
• 0,24 x 2 = 0,48 ⇒ dígito -4: 0
• 0,48 x 2 = 0,96 ⇒ dígito -5: 0
• 0,96 x 2 = 1,92 ⇒ dígito -6: 1
• ...
Escuela Politécnica Superior 133

REPRESENTACIÓN DE NÚMEROS
NATURALES EN BCD
1. Observaciones previas
• Número de distintos números binarios de n cifras:
2n .
• Bits necesarios para representar {0
{0, 11..., 9}: 4 y sobran
(2 = 16, 16-10 = 6).
4

2. Definición
En los sistemas decimales codificados en binario se
convierten uno a uno, los dígitos decimales a binario.
2.1. Variantes
• Diferentes métodos BCD difieren:
- Número de bits usados por dígito.
- Tipo de representación de los dígitos.
- Uso del espacio sobrante.
Escuela Politécnica Superior 134

67
REPRESENTACIÓN DE NÚMEROS
NATURALES EN BCD
- El código decimal binario (BCD, Binary Coded Decimal)
es una forma de expresar cada uno de los dígitos
decimales con un código binario.
• El código
ódi 8421
- El código 8421 es un tipo de código decimal (BCD).
- Código decimal binario significa que cada dígito
decimal, de 0 hasta 9, se representa mediante un
código binario de cuatro bits.
- La designación 8421 indica los pesos binarios de los
cuatro bits (23, 22 , 21 , 20 ).
- La facilidad de conversión entre los números en código
8421 y los números decimales es la principal ventaja.

Escuela Politécnica Superior 135

REPRESENTACIÓN DE NÚMEROS
NATURALES EN BCD
- Tabla de la conversión decimal/BCD
Dígito decimal 0 1 2 3 4 5 6 7 8 9
BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

• Códigos no válidos. Con cuatro dígitos, se pueden


representar dieciséis números (desde 0000 hasta
1111), pero en el código 8421, sólo se usan diez de
ellos. Las seis combinaciones q
que no se emplean
p (1010,
1011, 1100, 1101, 1110 y 1111) no son válidas en el
código BCD 8421.

Escuela Politécnica Superior 136

68
BCD EXTENDIDO O DESEMPAQUETADO
1. Conversión decimal BCD extendido
• Uso de un octeto (8 bits) por dígito decimal.
• Representación de los dígitos: binario puro.
• Cuartetos (4 bits) no usados de relleno (por defecto a 0).
- Ejemplos:
• 31710 es:
0000 0011 0000 0001 0000 0111
• 12510 es:
0000 0001 0000 0010 0000 0101
• 25610 es:
s:
0000 0010 0000 0101 0000 0110
• 4578510 es:
0000 0100 0000 0101 0000 0111 0000 1000 0000 0101
Escuela Politécnica Superior 137

BCD EXTENDIDO O DESEMPAQUETADO

2. Conversión BCD extendido decimal

• Proceso Inverso
- Ejemplo:

0000 1000 0000 0111 0000 0101 0000 0000 0000 0001
es 8750110

Escuela Politécnica Superior 138

69
BCD CONDENSADO O EMPAQUETADO
1. Conversión decimal BCD empaquetado
• Idem usando cuartetos (4 bits)
- Ejemplos:
• 31710 es: 0011 0001 0111
• 12510 es: 0001 0010 0101
• 25610 es: 0010 0101 0110
• 4578510 es: 0100 0101 0111 1000 0101
2. Conversión BCD empaquetado decimal
• Proceso
roc so Inverso
n rso
- Ejemplo:
• 0001 0000 0000 0000 0100 0111
es 10004710
Escuela Politécnica Superior 139

BCD CONDENSADO O EMPAQUETADO

• Conversión Decimal BCD Empaquetado

- Ejemplo: Convertir a BCD los siguientes números decimales.


(a) 35 (b) 98 (c) 170 (d) 2469

Solución.
(a) 3 5 (b) 9 8 (c) 1 7 0 (d) 2 4 6 9

0011 0101 1001 1000 0001 0111 0000 0010 0100 01101001

Escuela Politécnica Superior 140

70
BCD CONDENSADO O EMPAQUETADO

• Conversión BCD Empaquetado Decimal

- Ejemplo: Convertir a decimal los siguientes códigos BCD:


(a) 10000110 (b) 001101010001 (c) 1001010001110000

Solución.
((a)) 1000 0110 ((b)) 0011 0101 0001 ((c)) 1001 0100 0111 0000

8 6 3 5 1 9 4 7 0

Escuela Politécnica Superior 141

SUMA EN BCD
- BCD es un código numérico y puede utilizarse en
operaciones aritméticas.
- La suma es la más importante de estas operaciones ya
que las otras tres operaciones
q p ((sustracción,
multiplicación y división) se pueden llevar a cabo
utilizando la suma.
- Método para sumar dos números BCD:
Paso 1. Sumar los dos números BCD utilizando las reglas de la suma
binaria vistas anteriormente.
Paso 2. Si una suma de 4 bits es igual o menor que 9, es un número BCD
válido
válido.
Paso 3. Si una suma de 4 bits es mayor que 9, o si genera un acarreo en
el grupo de 4 bits, el resultado no es válido. En este caso, se suma 6
(0110) al grupo de 4 bits para saltar así los seis estados no válidos y
pasar al código 8421. Si se genera un acarreo al sumar 6, éste se suma
al grupo de 4 bits siguiente.
Escuela Politécnica Superior 142

71
SUMA EN BCD
- Ejemplo de la suma en BCD para los casos en que la suma
en cada columna de 4 bits es igual o menor que 9 y, por
tanto, las sumas de 4 bits son números BCD válidos.
• Ejemplo: Sumar los siguientes números BCD:
(a) 0011 + 0100 (b) 00100011 + 00010101
(c) 10000110 + 00010011 (d) 010001010000 + 010000010111
Solución. Se muestra la suma en decimal con propósitos
p
de comparación.
(a) 0011 3 (b) 0010 0011 23
+0100 + 4 + 0001 0101 + 15
0111 7 0011 1000 38

Escuela Politécnica Superior 143

SUMA EN BCD
• Ejemplo:

Solución. (Continuación)

(c) 1000 0110 86 (d) 0100 0101 0000 450


+ 0001 0011 + 13 + 0100 0001 0111 + 417
1001 1001 99 1000 0110 0111 867

Observe que en ningún caso la suma de las cuatro


columnas de 4 bits excede 9, por lo que los resultados
son números
ú BCD válidos.
álid

Escuela Politécnica Superior 144

72
SUMA EN BCD
- Ejemplo del procedimiento en el caso de que se
produzcan sumas no válidas (mayores que 9 o que
generen acarreo).
• Ej
Ejemplo:Sumar
mp o Sumar los
os siguientes
s gu nt s núm
números
ros BCD:
D
(a) 1001 + 0100 (b) 1001 + 1001
(c) 00010110 + 00010101 (d) 01100111 + 01010011
Solución. La suma en números decimales se indica con
propósitos de comparación.
(a) 1001 9
+ 0100 + 4
1101 Número BCD no válido (> 9) 13
+ 0110 Se suma 6
0001 0011 Número BCD válido

1 3
Escuela Politécnica Superior 145

SUMA EN BCD
• Ejemplo: Sumar los siguientes números BCD:
(a) 1001 + 0100 (b) 1001 + 1001
( ) 00010110 + 00010101
(c) (d) 01100111 + 01010011
Solución.

(b) 1001 9
+ 1001 + 9
1 0010 No válido debido al acarreo 18
+ 0110 Se suma 6
0001 1000 Número BCD válido

1 8

Escuela Politécnica Superior 146

73
SUMA EN BCD
• Ejemplo: Sumar los siguientes números BCD:
(a) 1001 + 0100 (b) 1001 + 1001
(c) 00010110 + 00010101 (d) 01100111 + 01010011
Solución.
(c) 0001 0110 16
+ 0001 0101 + 15
0010 1011 El grupo de la derecha no es 31
válido ((>9),
) el g
grupo
p de la izquierda
q sí.
+ 0110 Se suma 6 al código no válido.
Se suma el acarreo, 0001, al siguiente grupo.
0011 0001 Número BCD válido

3 1
Escuela Politécnica Superior 147

SUMA EN BCD
• Ejemplo: Sumar los siguientes números BCD:
(a) 1001 + 0100 (b) 1001 + 1001
( ) 00010110 + 00010101
(c) (d) 01100111 + 01010011
Solución.
(d) 0110 0111 67
+ 0101 0011 + 53
1011 1010 Ambos grupos no son válidos (>9). 120
+ 0110 + 0110 Se suma 6 a ambos grupos
0001 0010 0000 Número BCD válido

1 2 0

Escuela Politécnica Superior 148

74
REPRESENTACIÓN DE ENTEROS EN
BCD EXTENDIDO
1. Representación del signo
• En el cuarteto no utilizado del octeto del dígito
menos significativo.
• Posibles valores:
• Por defecto

+ 0000
- 1111

• Otros

+ B16 = 1011
- D16 = 1101

Escuela Politécnica Superior 149

REPRESENTACIÓN DE ENTEROS EN
BCD EXTENDIDO
2. Ejemplos

• +38110 es en BCD extendido:


extendid :
0000 0011 0000 1000 0000 0001
• -38110 es en BCD extendido:
0000 0011 0000 1000 1111 0001

3 Características de BCD
3.
• Útil en determinadas circunstancias (con datos de
poco proceso).

Escuela Politécnica Superior 150

75
REPRESENTACIÓN DE ENTEROS EN
BCD EMPAQUETADO
1. Representación del signo
• Idem desempaquetado excepto que es el primer
cuarteto.
2. Ejemplos

• +38110 es en BCD empaquetado:


0011 1000 0001 0000
• -38110 es en BCD empaquetado:
0011 1000 0001 1111
3. Características de BCD
• Útil en determinadas circunstancias (con datos de
poco proceso).
Escuela Politécnica Superior 151

CÓDIGO ALFANUMÉRICO
- Para la comunicación, no sólo se necesitan números, sino
también letras y otros símbolos.
- En sentido estricto, los códigos alfanuméricos son
códigos
g que representan
q p números y caracteres
alfabéticos (letras).
- Sin embargo, la mayoría de estos códigos también
representan otros caracteres tales como símbolos y
distintas instrucciones para la transferencia de
información.
- Como mínimo, un código alfanumérico debe poder
representar
t los
l diez
di dí it decimales
dígitos d i l y las
l 26 letras
l t
del alfabeto, es decir, un total de 36 elementos.
- Esta cantidad requiere seis bits para cada combinación
de código, puesto que cinco son insuficientes (25=32).
Escuela Politécnica Superior 152

76
CÓDIGO ALFANUMÉRICO
- Con seis bits se tiene un total de 64 combinaciones, por
lo que 28 de ellas no se utilizan.
- En muchas aplicaciones, para completar la comunicación,
son necesarios otros símbolos además de los números y
las letras. Se necesitan espacios, puntos, dos puntos,
punto y coma, signo de interrogación, etc.
- También se necesitan instrucciones para comunicar al
sistema receptor qué hacer con la información.
- De este modo, con códigos con una longitud de seis bits,
se pueden manejar números decimales, el alfabeto y
otros 28 símbolos. El ASCII es el código alfanumérico
más común. Otros ejemplos de códigos son: Videotext y
EBCDIC.

Escuela Politécnica Superior 153

CÓDIGO ASCII
- El American Standard Code for Information
Interchange (ASCII, Código Estándar Americano para
el Intercambio de Información) es un código
alfanumérico universalmente aceptado, que se usa en la
mayoría de las computadoras y otros equipos
electrónicos.
- La mayor parte de los teclados de computadora se
estandarizan de acuerdo con el código ASCII, y cuando
se pulsa una letra, un número o un comando de control,
es el código ASCII el que se introduce en la
computadora.
- El código ASCII dispone de 128 caracteres que se
representan mediante un código binario de 7 bits. El
código ASCII puede considerarse como un código de 8
bits en el que el MSB siempre es 0.
Escuela Politécnica Superior 154

77
CÓDIGO ASCII
- En Hexadecimal, este código de 8 bits va de 00 hasta
7F.
- Los primeros 32 caracteres ASCII son comandos no
gráficos,
áfi que nunca se imprimen
i i o presentan en
pantalla, y solo se utilizan para propósitos de control.
Ejemplos de caracteres de control son el carácter nulo,
avance de línea, inicio de texto y escape.
- Los demás caracteres son símbolos gráficos que pueden
p
imprimirse o mostrarse en p
pantalla, e incluyen
y las letras
del alfabeto (mayúsculas y minúsculas), los diez dígitos
decimales, los signos de puntuación y otros símbolos
comúnmente utilizados.

Escuela Politécnica Superior 155

CÓDIGO ASCII
- Tabla del Código ASCII, con su representación decimal,
hexadecimal y binaria para cada carácter y símbolo.
(
(En la p
primera columna de la tabla se enumeran los
nombres de los 32 caracteres de control (en hexadecimal,
de 00 hasta 1F), y en las restantes columnas se muestran
los símbolos gráficos (en hexadecimal, de 20 hasta 7F)).

Escuela Politécnica Superior 156

78
CÓDIGO ASCII
Tabla: American Standard Code for Information Interchange (ASCII)

Escuela Politécnica Superior 157

CÓDIGO ASCII EXTENDIDO


- Además de los 128 caracteres ASCII estándar, existen
128 caracteres adicionales que fueron adoptados por
IBM para utilizar en sus computadoras personales (PC).

- Debido a la popularidad del PC, estos caracteres


especiales del código ASCII extendido se usan también
en otras aplicaciones distintas de las PC, por lo que se
ha convertido en un estándar oficial.

- Los caracteres del código ASCII extendido se


representan mediante una serie de códigos de 8 bits
que van, en hexadecimal, del 80 hasta FF.

Escuela Politécnica Superior 158

79
CÓDIGO ASCII EXTENDIDO
- El código ASCII extendido está formado por
caracteres que pertenecen a las siguientes categorías
generales:
1. Caracteres alfabéticos no ingleses
2 Símbolos
2. í b l ded moneda
d no ingleses
i l
3. Letras griegas
4. Símbolos matemáticos
5. Caracteres para gráficos
6. Caracteres para gráficos de barras
7. Caracteres sombreados.
- Tabla del conjunto de caracteres del código ASCII
extendido, junto con sus representaciones decimal y
hexadecimal.
Escuela Politécnica Superior 159

CÓDIGO ASCII EXTENDIDO


Tabla: Caracteres de código ASCII extendido

Escuela Politécnica Superior 160

80
EBCDIC

- EBCDIC (Extended Binary Coded Decimal Interchange


Code)
- Es un código de 8 bits.
bits
- Está representado por la tabla que se adjunta.
- Puede observarse que los números se representan en
BCD desempaquetado pero el primer cuarteto se
completa con bits 1.

Escuela Politécnica Superior 161

EBCDIC

- Ejemplos:
• Ejemplo 1:

Escuela Politécnica Superior 162

81
EBCDIC

- Ejemplos:
• Ejemplo 2:

Escuela Politécnica Superior 163

UNICODE
- Código de E/S propuesto por un consorcio de empresas y
entidades que permite escribir aplicaciones que sean capaces
de procesar texto de diversos sistemas de escritura. Está
reconocido como estándar ISO/IEC 10646.
10646

- Propiedades de Unicode:

* Universalidad: persigue cubrir la mayoría de lenguajes


escritos existentes en la actualidad.

* Unicidad: a cada carácter se le asigna exactamente un


único código.

* Uniformidad: todos los símbolos se representan con un


número fijo de 16 bits.

Escuela Politécnica Superior 164

82
UNICODE
- Características de Unicode:

* Cada carácter Unicode está formado por una cadena de


16 bits => se pueden codificar 216 = 65.356 símbolos.

* No contempla la codificación de caracteres de control.

* Incluye caracteres combinados (por ej., ñ, ä, ç).

* No determina la forma o imagen concreta de cada


carácter (el “font” o fuente), sino que cada combinación
representa un concepto abstracto.
abstracto Un mismo carácter puede
ser escrito de distintas formas y todas las variantes se
codifican con una única combinación.

Escuela Politécnica Superior 165

UNICODE
- Características de Unicode:

* También con la misma idea de evitar duplicidades,


caracteres muy parecidos en idiomas distintos, tienen igual
posición en el código. Esto ocurre por ejemplo con los
ideogramas japoneses, chinos y coreanos; aunque su imagen
sea distinta, si su significado es el mismo tienen igual código.

* No ocurre lo mismo con las letras mayúsculas y


minúsculas de los caracteres latinos que tienen códigos
di i
distintos.

* Su utilización está facilitando la compatibilidad de


programas y datos a través de todo el mundo.

Escuela Politécnica Superior 166

83
UNICODE
- Esquema de asignación de códigos en Unicode

Escuela Politécnica Superior 167

UNICODE
- Ejemplo: Codificar la cadena de caracteres C/Rúa, 7 en
ASCII (ISO 8859-1, Latín 1) y en Unicode

Nótese que para obtener la codificación Unicode hemos añadido 8


bits [0] delante de cada código ASCII de 8 bits.

Escuela Politécnica Superior 168

84

También podría gustarte