Você está na página 1de 177

Tema 4:

Sistemas de Numeración.
Codificación Binaria

Escuela Politécnica Superior


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

1
Sistemas de Numeración.
Codificación Binaria
TEMA 4: SISTEMAS DE
O Conocer los diferentes sistemas de NUMERACIÓN.
B numeración y los códigos CODIFICACIÓN
alfanuméricos. BINARIA
J
4.1 Sistemas de numeración
E Aplicar las operaciones aritméticas a 4.2 Operaciones aritméticas
en binario
T los números binarios 4.3 Representación de
I números con signo
Conversión entre los diferentes 4.4 Representación de
V sistemas de numeración. números en punto fijo y
coma flotante
O 4.5 Código BCD. Aritmética
S Expresar y sumar números en BCD. BCD
4.6 Códigos alfanuméricos

Bibliografía Tema 4:
- 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
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 posición de cada dígito 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 fraccionarios, los pesos son potencias negativas 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:
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


SISTEMA DE NUMERACIÓN DECIMAL
• Ejemplo:
Expresar el número decimal 568,23 como suma de los
valores de cada dígito.
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 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 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


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

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


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, 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, y tiene un peso de 2-1 = 0,5.
– 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

Coma binaria

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

Escuela Politécnica Superior 10


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 pesos de todos los bits 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
CONVERSIÓN BINARIO A DECIMAL
• Ejemplo:
Convertir el número binario fraccionario 0,1011 en
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 suma es igual 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


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. 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
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,125 = 2-1 + 2-3 = 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 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, y después se multiplica cada parte fraccional
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


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

0,625 x 2 = 1,25 1

Continuar hasta obtener


el número de 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-9 y A-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.

Escuela Politécnica Superior 20


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-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


CONVERSIÓN 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-BINARIO
- Para convertir un número hexadecimal en un número

binario se realiza el proceso inverso, reemplazando

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

adecuados.

Escuela Politécnica Superior 24


CONVERSIÓN 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-DECIMAL

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

número hexadecimal, primero, convertir el número

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

Escuela Politécnica Superior 26


CONVERSIÓN 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-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, 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, los pesos


son:
163 162 161 160
4096 256 16 1
Escuela Politécnica Superior 28
CONVERSIÓN 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-HEXADECIMAL
- La división sucesiva por 16 de un número decimal
generará el número hexadecimal equivalente formado
por restos de las 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.
- Este procedimiento es similar a la división sucesiva
por 2 para la conversión decimal-binario.

Escuela Politécnica Superior 30


CONVERSIÓN 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
2 8 A
Número
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


CONVERSIÓN OCTAL-DECIMAL
- La evaluación de un número octal en términos de su
equivalente decimal se consigue multiplicando cada
dígito por su peso y sumando los productos. 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-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


CONVERSIÓN 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-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


CONVERSIÓN OCTAL-BINARIO

• Ejemplo: Convertir a binario los siguientes números


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-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 ceros no afectan al valor del número
binario.

Escuela Politécnica Superior 38


CONVERSIÓN 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.
• Representaciones de fácil conversión a binario.

Escuela Politécnica Superior 40


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:
- Comenzando por el bit menos significativo.
- Completando a la izquierda, si fuera necesario.

Escuela Politécnica Superior 42


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 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


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.
- 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
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)
Acarreo Acarreo
1 1
0 1 1
+ 0 0 1
Escuela Politécnica Superior 1 0 0 48
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).
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
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


OPERACIONES EN BINARIO PURO
2. Resta Binaria
• Ejemplo: Realizar las siguientes sustracciones binarias:
(a) 11 - 01 (b) 11 - 10
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
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
OPERACIONES EN BINARIO PURO
3. Multiplicación Binaria
3.1. Multiplicación directa de naturales en binario
• Mismo algoritmo que en 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
OPERACIONES EN BINARIO PURO
3. Multiplicación Binaria
3.1. Multiplicación directa de naturales en binario
• Ejemplo: Realizar las siguientes multiplicaciones binarias:
(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 Productos
111 35
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:

• 10112 * 1112 = 10011012

3.2. Reducción de producto a sumas reiteradas

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

Escuela Politécnica Superior 60


OPERACIONES EN BINARIO PURO
4. División Binaria
4.1. División directa de naturales en binario
- Algoritmo: mismo algoritmo que en decimal.
- 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: Realizar las siguientes divisiones binarias:
(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
OPERACIONES EN BINARIO PURO
4. División Binaria
4.1. División directa de naturales en binario
- Ejemplo:

• 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... 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


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

∀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


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
sumando 1 al LSB del complemento a 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:
1. Se empieza por la derecha con el LSB y se escriben los
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.
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
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-MAGNITUD
• El bit de signo
- Se reserva un dígito para representar el signo del
número. En 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
REPRESENTACIÓN DE ENTEROS EN COMA
FIJA 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


CONVERSIONES DECIMAL /
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 –2710 ,
su representación es 1011011

Escuela Politécnica Superior 73


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

- Ejemplos:
• 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


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.
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 y sus pesos potencias 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-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 (-) X 1 - X2 3+(-7)=3-7=-4
1 (-) 0 (+) X 2 - X1 (-3)+7=7-3=4
1 (-) 1 (-) - ( X1 + X2 ) -3-7=-(3+7)=-10

Escuela Politécnica Superior 76


OPERACIONES DE ENTEROS EN
COMA FIJA SIGNO-MAGNITUD

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

101001 Los signos 01001 Se 101100


100011 determinan 00011 añade el
la operación signo
01100
suma
Escuela Politécnica Superior 77
CARACTERÍSTICAS DE 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
REPRESENTACIÓN COMPLEMENTO RESTRINGIDO
A LA BASE-1 (COMPLEMENTO A 1 CON BASE 2)

1. Definición

Sea:
• n el número de dígitos
• x el valor
• Si x es positivo: binario puro
• Si x es negativo: 2n - 1 - x

Escuela Politécnica Superior 79


REPRESENTACIÓN COMPLEMENTO RESTRINGIDO
A LA BASE-1 (COMPLEMENTO A 1 CON BASE 2)
• Ejemplos previos al algoritmo
• Con 6 dígitos 26 – 1 = 6310 = 1111112
• Con 4 dígitos 24 – 1 = 1510 = 11112
• Con 2 dígitos 22 – 1 = 310 = 112
• Con 1 dígito 21 – 1 = 110 = 12
2. Algoritmo
El complemento a 1 de un valor es:
• El complemento lógico dígito a dígito de su
representación en binario puro, si es negativo.
• Su representación en binario puro, si es
positivo.
Escuela Politécnica Superior 80
REPRESENTACIÓN COMPLEMENTO RESTRINGIDO
A LA BASE-1 (COMPLEMENTO A 1 CON BASE 2)
• Ejemplos:
• para n = 8 y A = 9 = 00001001
• -9 28 – 1 – 00001001 = 11110110

• Observaciones:
• Se puede restar bn-1 y x dígito a dígito.
• La resta dígito a dígito es el complementario.
0 - 0 =0
0 - 1 = 1 ( acarreo 1, el resultado es 210 - 110 = 102 - 12 )
1 - 0 = 1
1 - 1 = 0

Escuela Politécnica Superior 81


REPRESENTACIÓN COMPLEMENTO RESTRINGIDO
A LA BASE-1 (COMPLEMENTO A 1 CON BASE 2)

• Distinción entre positivos y negativos:


• Comienzo 0 significa positivo
• Comienzo 1 significa negativo
• 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 82


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

• Si el 1er bit es 0, entonces se aplica la


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 83
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 luego 1 al resultado.

Escuela Politécnica Superior 84


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 85
VALOR DECIMAL DE LOS NÚMEROS CON SIGNO

• Complemento a 1

- Ejemplo: (Continuación)
Solución. Para (b) 11101000:
(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 86
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 87


OPERACIONES EN COMPLEMENTO A 1
2. Suma en complemento a 1
• 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 pero
hay que sumar el acarreo al resultado.
• Ejemplos:
• Si n=8, x=63, y=-28
• Si n=9, x=-75, y=40

Escuela Politécnica Superior 88


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 signo de un número binario positivo o negativo se
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 89
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 un bit de acarreo final, entonces el
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 90
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 en complemento 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 91
CARACTERÍSTICAS DEL COMPLEMENTO A 1
• El complemento a 1 es el complemento lógico.
• Desbordamientos posibles en la suma:
• Ejemplo: n=6, x=27, y=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
mayor es 2n-1-1 y negativo 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 92


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

1. Definición
Sea:
• n el número de dígitos
• x el valor
• Si x es positivo: binario puro.
• Si x es negativo: binario puro de 2n-x .

Escuela Politécnica Superior 93


REPRESENTACIÓN COMPLEMENTO A LA
BASE (COMPLEMENTO A 2 CON BASE 2)
• Ejemplos previos al algoritmo
• Con 6 dígitos 26 = 6410 = 10000002
• Con 4 dígitos 24 = 1610 = 100002
• Con 2 dígitos 22 = 410 = 1002
• Con 1 dígito 21 = 210 = 102
2. Observación comparación con complemento a 1
• Si x es negativo y n es el número de dígitos:
• Su complemento a 1 es 2n-x-1 en binario
• Su complemento a 2 es 2n-x en binario
• En este caso: el complemento a 2 es 1 + el complemento
a1
Escuela Politécnica Superior 94
REPRESENTACIÓN COMPLEMENTO A LA
BASE (COMPLEMENTO A 2 CON BASE 2)
2. Algoritmo:
El complemento a 2 de un valor es:
• El resultado de la suma binaria de 1 y el complemento a 1
del número, si es 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, 1210 = 011002
• 910 con 4 dígitos
910 = 10012 , 1001 sería el complemento a 2 ¡¡¡ERROR!!!
Escuela Politécnica Superior 95
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 96


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, 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 97
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 98


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:
-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 99
VALOR DECIMAL DE LOS NÚMEROS CON SIGNO

• Complemento a 2
- Ejemplo: (Continuación)
Solución. Para (b) 10101010:
(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 100
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 es 01100, su opuesto es -1210
(10100)

Escuela Politécnica Superior 101


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=-28
• 63 en complemento a 2 es 00111111
• -28 en complemento a 2 es 11100100
2810 = 000111002 (8 bits)

Escuela Politécnica Superior 102


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 103


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.
3. El número negativo es mayor que el positivo en valor
absoluto.
4. Ambos números son negativos.

Escuela Politécnica Superior 104


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 105


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


es positiva y, por tanto es un número binario real (no
complementado).

Escuela Politécnica Superior 106


OPERACIONES EN COMPLEMENTO A 2

• Suma
- El número negativo es mayor que el número
positivo en valor absoluto:
00010000 16
+ 11101000 + - 24
11111000 -8

- La suma es negativa y, por tanto, está en


complemento a 2.

Escuela Politécnica Superior 107


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 108


OPERACIONES EN COMPLEMENTO A 2
• Condición de desbordamiento (overflow)
- Cuando se suman dos números y el número de bits
requerido para representar 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 109
OPERACIONES EN COMPLEMENTO A 2
• Sustracción
- 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 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 110
OPERACIONES EN COMPLEMENTO A 2
• Multiplicación
- Los números en una multiplicación se denominan
multiplicando, multiplicador y producto.
- El método de los productos parciales es quizá el más
común, ya que es la forma de multiplicar manualmente.
- El multiplicando se multiplica por cada dígito del
multiplicador, empezando por el dígito menos
significativo.
- El resultado de la multiplicación del multiplicando por un
dígito del multiplicador se denomina producto parcial.
- Cada producto parcial se desplaza una posición a la
izquierda y, cuando se han obtenido todos los productos
parciales, se suman para obtener el producto final.

Escuela Politécnica Superior 111


OPERACIONES EN COMPLEMENTO A 2
• Multiplicación
- El signo del producto de una multiplicación depende de
los signos del multiplicador, de acuerdo con las
siguientes reglas:
• Si son del mismo signo, el producto es positivo.
• Si son de diferente signo, el producto es negativo.
- Cuando dos números binarios se multiplican, ambos
números deben estar en formato binario real (no
complementado).

Escuela Politécnica Superior 112


OPERACIONES EN COMPLEMENTO A 2
• División
- Los números en una división son el dividendo, el divisor y
el cociente. Formato estándar de división:

dividendo = cociente
divisor

- El signo del cociente depende de los signos del


dividendo y del divisor, de acuerdo con las dos reglas
siguientes:
• Si son del mismo signo, el cociente es positivo.
• Si son de diferente signo, el cociente es negativo.

Escuela Politécnica Superior 113


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 114


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 115
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, suele ser M=2n-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 116
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 117


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 parte del número en coma flotante 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 118
ESTÁNDARES DE REPRESENTACIÓN DE
COMA FLOTANTE
- Necesidad de estándares. Hay problemas relacionados
con coma flotante:
• Diferentes precisiones.
• Errores de redondeo.
• 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 119
ESTÁNDAR IEEE. NÚMEROS
BINARIOS EN COMA FLOTANTE DE
SIMPLE PRECISIÓN
- En el formato estándar ANSI/IEEE 754-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 120


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 de 127 al exponente real.
- 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 121
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 122


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:

1 10010001 10001110001000000000000

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


10010001 = 145 ; aplicando la formula, obtenemos
Número = (-1)1 (1.10001110001) (2145-127)
= (-1) (1.10001110001) (218) = -1100011100010000000
Este número binario en coma flotante es equivalente a:
-407.680 en decimal.
Escuela Politécnica Superior 123
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 124


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 125


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
Doble Precisión (64 bits, es decir cuatro palabras de 16
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 por ejemplo el número 10.5010 en coma
flotante de simple precisión?

Escuela Politécnica Superior 126


ESTÁNDAR IEE. NÚMEROS BINARIOS
EN COMA FLOTANTE DE SIMPLE
PRECISIÓN
- Pasos:
1. Convertir 10.5010 a la base 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 que el número a la izquierda del punto
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 127


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í, 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 128
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: 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> Signo < Mantisa >

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


positivo.

Escuela Politécnica Superior 129


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.
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 130


REPRESENTACIONES DE NÚMEROS
RACIONALES EN SISTEMAS POSICIONALES
1. Representación de la parte entera
• Visto en sesiones anteriores
2. Representación de la parte 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 131
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 132


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 133


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 134
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 135
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 136


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 137


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)
- posición posición - 1

Escuela Politécnica Superior 138


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 139


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)
- posición posición - 1

Escuela Politécnica Superior 140


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 141
REPRESENTACIÓN DE RACIONALES CON COMA FIJA
El usuario (programador) es el responsable de insertar la coma
sobre un número representado como entero.

• Ejemplo: Racionales con coma


fija en BCD
- Ejemplo:
BCD empaquetado con COBOL

Escuela Politécnica Superior 142


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, 1..., 9}: 4 y sobran
(24 = 16, 16-10 = 6).
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 143
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 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 144


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 que no se emplean (1010,
1011, 1100, 1101, 1110 y 1111) no son válidas en el
código BCD 8421.

Escuela Politécnica Superior 145


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:
0000 0010 0000 0101 0000 0110
• 4578510 es:
0000 0100 0000 0101 0000 0111 0000 1000 0000 0101
Escuela Politécnica Superior 146
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 147


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 Inverso
- Ejemplo:
• 0001 0000 0000 0000 0100 0111
es 10004710
Escuela Politécnica Superior 148
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 149


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 150


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 (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.
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 151
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
de comparación.
(a) 0011 3 (b) 0010 0011 23
+0100 + 4 + 0001 0101 + 15
0111 7 0011 1000 38

Escuela Politécnica Superior 152


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.

Escuela Politécnica Superior 153


SUMA EN BCD
- Ejemplo del procedimiento en el caso de que se
produzcan sumas no válidas (mayores que 9 o que
generen acarreo).
• Ejemplo:Sumar los siguientes números BCD:
(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 154
SUMA EN BCD
• Ejemplo: Sumar los siguientes números BCD:
(a) 1001 + 0100 (b) 1001 + 1001
(c) 00010110 + 00010101 (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 155


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 grupo de la izquierda 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 156
SUMA EN BCD
• Ejemplo: Sumar los siguientes números BCD:
(a) 1001 + 0100 (b) 1001 + 1001
(c) 00010110 + 00010101 (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 157


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 158


REPRESENTACIÓN DE ENTEROS EN
BCD EXTENDIDO
2. Ejemplos

• +38110 es en BCD extendido:


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

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

Escuela Politécnica Superior 159


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 160
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 que representan 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 los diez dígitos decimales y las 26 letras
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 161
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 162


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 163
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, que nunca se imprimen 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
imprimirse o mostrarse en pantalla, e incluyen 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 164


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 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 165


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

Escuela Politécnica Superior 166


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 167


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 de moneda no ingleses
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 168
CÓDIGO ASCII EXTENDIDO
Tabla: Caracteres de código ASCII extendido

Escuela Politécnica Superior 169


EBCDIC

- EBCDIC (Extended Binary Coded Decimal Interchange


Code)
- Es un código de 8 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 170


EBCDIC

- Ejemplos:
• Ejemplo 1:

Escuela Politécnica Superior 171


EBCDIC

- Ejemplos:
• Ejemplo 2:

Escuela Politécnica Superior 172


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.

- 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 173


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. 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 174


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
distintos.

* Su utilización está facilitando la compatibilidad de


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

Escuela Politécnica Superior 175


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

Escuela Politécnica Superior 176


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 177

Você também pode gostar