Sei sulla pagina 1di 77

ARQUITECTURA DE COMPUTADORAS I

Revision 2.2

Contenido
Los NUMEROS .................................................................................................. 3
FORMATO DE REPRESENTACION DE ENTEROS SIN SIGNO .................. 5
SISTEMAS DE NUMERACION Y SISTEMAS BINARIOS .............................. 6
El sistema binario ........................................................................................... 7
Definiciones: ................................................................................................... 8
ALGORITMO: ................................................................................................. 8
CODIFICACION.............................................................................................. 8
REPRESENTACION DE LA INFORMACION .................................................... 8
NUMEROS DE PUNTO FIJO SIN SIGNO ...................................................... 9
RANGO Y PRECISION EN NUMEROS DE PUNTO FIJO ............................. 9
LA LEY ASOCIATIVA DEL ALGEBRA NO SIEMPRE FUNCIONA EN LA
COMPUTADORA A+(B+C)=(A+B)+C) ........................................................ 10
SISTEMAS DE NUMERACION POSICIONAL ............................................. 11
CONVERSION ENTRE SISTEMAS ............................................................. 13
DEFINICIONES. SISTEMAS BINARIO, OCTAL Y HEXADECIMAL ............. 13
Conversin a binario de la parte entera de un nmero de punto fijo ............ 13
METODO DE LOS RESTOS ........................................................................ 13
CONVERSION DE LA PARTE FRACCIONARIA DE UN NUMERO DE
PUNTO FIJO ................................................................................................ 14
FRACCIONES NO EXACTAS ...................................................................... 15
REPRESENTACION DE NUMEROS EN LOS SITEMAS BINARIO, OCTAL Y
DECIMAL ...................................................................................................... 16
CONVERSIN DE UN NUMERO DECIMAL A OCTAL................................ 16
CONVERSIN DE UN NUMERO OCTAL A BINARIO ................................. 17
CONVERSIN DE UN NUMERO DECIMAL A UN NUMERO HEXADECIMAL
...................................................................................................................... 17
CONVERSIN DE UN NUMERO HEXADECIMAL A UN NUMERO DECIMAL
...................................................................................................................... 18
ARITMETICA DE LAS COMPUTADORAS ...................................................... 19
SUMA BINARIA ............................................................................................ 19
RESTA BINARIA .......................................................................................... 21
NUMEROS DE PUNTO FIJO CON SIGNO ..................................................... 22
MAGNITUD Y SIGNO ................................................................................... 22
COMPLEMENTO A UNO ............................................................................. 23
COMPLEMENTO A DOS.............................................................................. 24
DECIMAL CODIFICADO EN BINARIO y COMPLEMENTO A 9 Y 10 .......... 26
REPRESENTACION EXCEDIDA (DESPLAZADA) ...................................... 28
REPRESENTACION EN PUNTO FLOTANTE ................................................. 31
RANGO Y PRECISION EN LOS NUMEROS CON COMA FLOTANTE ....... 33
NORMALIZACION Y ESQUEMA DE BIT IMPLICITO .................................. 34

REPRESENTACION DE NUMEROS DE PUNTO FLOTANTE DENTRO DE


LA COMPUTADORA .................................................................................... 36
ERRORES EN LA REPRESENTACION DE PUNTO FLOTANTE ............... 39
CARACTERIZACION DEL ERROR, EL RANGO Y LA PRECISION ............ 39
CARACTERISTICAS A CONSIDERAR EN LA REPRESENTACION CON
PUNTO FLOTANTE ..................................................................................... 40
Nmeros extremos de la posicin planteada ................................................ 41
IEEE 754....................................................................................................... 45
PARAMETROS DEL FORMATO IEEE 754 .................................................. 48
CASO MISIL PATRIOT ................................................................................. 51
CODIGOS ALFANUMERICOS......................................................................... 52
ASCII ............................................................................................................ 52
EBCDIC ........................................................................................................ 53
UNICODE ..................................................................................................... 54
ARITMETICA.................................................................................................... 55
SUMA Y RESTA EN PUNTO FIJO ............................................................... 55
SUMA Y RESTA EN LA REPRESENTACION DE COMPLEMENTO A DOS
...................................................................................................................... 55
DESBORDE.................................................................................................. 56
METODO ALTERNATIVO ............................................................................ 56
DIAGRAMA DE BLOQUES DEL HARDWARE PARA LA SUMA Y RESTA . 57
SUMA Y RESTA EN REPRESENTACION DE COMPLEMENTO A UNO .... 58
PRODUCTO Y COCIENTE EN PUNTO FIJO .............................................. 59
MULTIPLICACION DE NUMEROS SIN SIGNO ........................................... 59
IMPLEMENTACION CIRCUITAL.................................................................. 60
DIVISION SIN SIGNO .................................................................................. 62
IMPLEMENTACION CIRCUITAL.................................................................. 64
PRODUCTO Y COCIENTE SIGNADOS....................................................... 67
ARITMETICA DE PUNTO FLOTANTE ............................................................ 68
SUMA Y RESTA EN FORMATO DE PUNTO FLOTANTE ........................... 68
PRODUCTO Y COCIENTE EN FORMATO DE PUNTO FLOTANTE .......... 70
COCIENTE ................................................................................................... 71
ESTNDAR DEL IEEE PARA LA ARITMETICA BINARIA CON COMA
FLOTANTE ................................................................................................... 72
NUMEROS DESNORMALIZADOS .............................................................. 72
ARITMETICA DE ALTO RENDIMIENTO ...................................................... 74
SUMA DE ALTO RENDIMIENTO ................................................................. 74
PRODUCTO DE ALTO RENDIMIENTO ....................................................... 74
ALGORITMO DE BOOTH............................................................................. 74
DIVISION DE ALTO RENDIMIENTO ............................................................ 77

LOS NUMEROS
Un nmero, en ciencia, es un concepto que expresa una cantidad en relacin a
su unidad.
Tambin puede indicar el orden de una serie (nmeros ordinales) y Tambin,
en sentido amplio, indica el carcter grfico que sirve para representarlo; dicho
signo grfico de un nmero recibe el nombre de numeral o cifra.

Los nmeros ms conocidos son los nmeros naturales. Denotados


mediante

, son conceptualmente los ms simples y los que se usan para

contar unidades discretas. stos, conjuntamente con los nmeros negativos,


conforman el conjunto de los enteros, denotados mediante

(del alemn

Zahlen 'nmeros'). Los nmeros negativos permiten representar formalmente


deudas, y permiten generalizar la resta de cualesquiera dos nmeros naturales.
Otro tipo de nmeros ampliamente usados son nmeros fraccionarios, y
tanto cantidades inferiores a una unidad, como nmeros mixtos (un conjunto de
unidades ms una parte inferior a la unidad). Los nmeros fraccionarios
pueden ser expresados siempre como cocientes de enteros. El conjunto de
todos los nmeros fraccionarios es el conjunto de los nmeros racionales (que
usualmente se definen para que incluyan tanto a los racionales positivos, como
a los racionales negativos y el cero). Este conjunto de nmeros de designa
como

Los nmeros racionales permiten resolver gran cantidad de problemas


prcticos, pero desde los antiguos griegos se conoce que ciertas relaciones
geomtricas (la diagonal de un cuadrado de lado unidad) son nmeros no
enteros que tampoco son racionales. Igualmente, la solucin numrica de una
ecuacin polinmica cuyos coeficientes son nmeros racionales, usualmente
es un nmero no racional. Puede demostrarse que cualquier nmero irracional
puede representarse como una sucesin de Cauchy de nmeros racionales
que se aproximan a un lmite numrico. El conjunto de todos los nmeros
racionales y los irracionales (obtenidos como lmites de succesiones de Cauchy
de nmeros racionales) es el conjunto de los nmeros reales

. Durante un

tiempo se pens que toda magnitud fsica existente poda ser expresada en
trminos de nmeros reales exclusivamente. Entre los reales, existen nmeros
que no son soluciones de una ecuacin polinomial o algebraica, que reciben el
nombre de transcendentales. Ejemplos famosos de estos nmeros son el
nmero (Pi) y el nmero e (este ltimo base de los logaritmos naturales), los
cuales estn relacionados entre s por la identidad de Euler.
Uno de los problemas de los nmeros reales es que no forman un
cuerpo algebraicamente cerrado, por lo que ciertos problemas no tienen
solucin planteados en trminos de nmeros reales. Esa es una de las razones
por las cuales se introdujeron los nmeros complejos

, que son el mnimo

cuerpo algebraicamente cerrado que contiene a los nmeros reales. Adems


algunas aplicaciones prcticas as como en las formulaciones estndar de la
mecnica cuntica se considera til introducir los nmeros complejos. Al
parecer la estructura matemtica de los nmeros complejos refleja estructuras
existentes en problemas fsicos, por lo que en fsica terico y en diversas
aplicaciones los nmeros complejos se usan en pie de igualdad con los
nmeros reales, a pesar de que inicialmente fueron considerados nicamente
como un artificio matemtico sin relacin con la realidad fsica. Todos los
conjuntos de nmeros

fueron de alguna manera "descubiertos"

o sugeridos en conexin con problemas planteados en problemas fsicos o en


el seno de la matemtica elemental y todos ellos parecen tener importantes
conexiones con la realidad fsica.

Fuera de los nmeros reales y complejos, claramente conectados con


problemas de las ciencias naturales, existen otros tipos de nmeros que
generalizan an ms y extienden el concepto de nmero de una manera ms
abstracta y responden ms a creaciones deliberadas de matemticos. La
mayora de estas generalizaciones del concepto de nmero se usan slo en
matemticas, aunque algunos de ellos han encontrado aplicaciones para
resolver ciertos problemas fsicos. Entre ellos estn los nmeros
hipercomplejos que incluyen a los cuaterniones tiles para representar
rotaciones en un espacio de tres dimensiones, y generalizaciones de etos
como octoniones y los sedeniones.
A un nivel un poco ms abstracto tambin se han ideado conjuntos de
nmeros capaces de tratar con cantidades infinitas e infinitesimales como los
hiperreales y los transfinitos.
Un sistema numrico significa una forma estructurada de representar nmeros,
lo que implica varias acepciones:

identificacin

(841-99-9999, 532-40-1234, 786-2885)

orden

cantidad

(docena, gruesa, millar)

medida

(un metro, galn, quilate)

solucin a una ecuacin polinomial

(primero, segundo, vigsimotercero)

(1+2i, -5i)

Nosotros nos limitaremos a las acepciones de cantidad y medida. Cada


acepcin conlleva su propio sistema. Para representar cantidades, usamos el
conjunto de los nmeros enteros; para representar medidas, usamos el
conjunto de los nmeros reales.
A nivel de mquina slo se representan nmeros enteros o nmeros
reales, mientras que otros conjuntos numricos se manejan por
programacin.

FORMATO DE REPRESENTACION DE ENTEROS SIN SIGNO


El formato de representacin de enteros sin signo se emplea en el
direccionamiento de la memoria. No es un formato para representar datos
propiamente.

No obstante, necesitamos ejecutar operaciones de aritmtica (comparaciones,


suma, multiplicaciones) con el mismo. La memoria se organiza en unidades de
almacenamiento llamadas clulas o celdas, identificadas con un rtulo
numrico. (La celda tpica est constituida por ocho bits, a esta estructura le
llamamos byte, y cada byte en la memoria se reconoce por su nmero de
identificacin nico). Los rtulos se asignan del cero en adelante, hasta cubrir
todos las celdas en la memoria.
Es importante disear un formato capaz de numerar toda la memoria. Los
tamaos de memoria se declaran de acuerdo a la cantidad de bytes que
constituyen la misma.
SISTEMAS DE NUMERACION Y SISTEMAS BINARIOS
Los sistemas de numeracin son smbolos y reglas para denotar cantidades
Muchas civilizaciones inventaron los suyos, por ejemplo, los romanos usaron la
notacin I, II, III, IV, ..
En nuestros tiempos, el sistema de numeracin que usamos cotidianamente se
llama sistema de numeracin posicional en base 10 (o simplemente sistema
decimal). Es decimal pues se usan diez smbolos (a saber 0, 1, 2, 3, 4, 5, 6, 7,
8, 9) y depende de la posicin pues no es lo mismo 12 (uno dos) que 21 (dos
uno).
*

**

***

****

*****

*****
*

*****
**

*****
***

*****
****

*****
*****

10

*****
*****
*

*****
*****
**

*****
*****
***

*****
*****
****

*****
*****
*****

*****
*****
*****
*

*****
*****
*****
**

*****
*****
*****
***

*****
*****
*****
****

*****
*****
*****
*****

11

12

13

14

15

16

17

18

19

20

Pero por qu usamos este sistema? Y por qu se eligieron diez smbolos?


Pues la respuesta est en la historia; el sistema decimal desciende de los
nmeros usados por los rabes.
Pero si nos vamos a la lgica matemtica, no hay razn para usar exactamente
diez smbolos; podramos emplear cuantos quisiramos y usar las reglas que
queramos. Por ejemplo, los mayas usaron 3 smbolos y ponan smbolos arriba
de otros.

Pero ya no tenemos que irnos al pasado para encontrar otros sistemas de


numeracin. En la actualidad, se emplea el sistema de numeracin
hexadecimal posicional (de diecisis smbolos 0, 1, 2, , 9, A, B, , F ) para
encriptar contraseas o para denotar colores.
En decimal

En hexadecimal

Color

10, 354 714

9E001A

_______________

7, 556 367

734D0F

_______________

La relacin al uso del sistema hexadecimal en los lenguajes computacionales


tiene que ver en gran medida a que la informacin se guarda en bloques de
potencia de dos (2n). Y el 16 es una potencia de dos: 24
El sistema binario
El sistema binario es util por tener tan pocos smbolo porque con slo dos
smbolos se pueden escribir todos los nmeros, incluyendo al cero. Pero
adems, aprovecha de la posicin para reducir la cantidad de dgitos (como se
hace en el sistema decimal).
*

**

***

****

*****

******

*******

********

10

11

100

101

110

111

1000

********
*

********
**

********
***

********
****

********
*****

********
******

********
*******

********
********

1001

1010

Una primera pregunta que podemos hacernos de la notacin decimal es la


siguiente, qu cantidad representa la notacin 100...00 (un uno con muchos)?
Pues la respuesta es ms o menos la misma que lo que ocurre en la notacin
decimal.

Binario

Decimal

10

10

10

100

22=22

100

1010=102

1000

222=23

1000

103

10000

24

10000

104

La simple existencia de esta notacin y este parecido a la notacin decimal


puede parecer no muy motivante, pero tal vez la siguiente observacin les
resulte ms importante.
Todo nmero entero es una potencia de dos o suma de potencias de dos. Por
ejemplo, 6=21+22
Para ver esto, basta con observar que la notacin de binaria se transforma a
una suma de potencias de dos, por ejemplo,
43=(101011) 2
=25 +024 +123 +022 +121 +120
=25 +23 +21 +20
=32+8+2+1
Esto es similar a lo que muchos hemos visto para el sistema decimal:
1235 = 1x103 +2102 +3101 +5100
Definiciones:
ALGORITMO:
Conjunto preescrito de instrucciones o reglas bien definidas, ordenadas
y finitas que permiten realizar una actividad mediante pasos sucesivos que no
generan dudas a quien deba realizar esa actividad.
CODIFICACION
Se entiende por Codificacin en el contexto de la Ingeniera al proceso
de conversin de un sistema de datos de origen a otro sistema de datos de
destino.
De ello se desprende como corolario que la informacin contenida en
esos datos resultantes deber ser equivalente a la informacin de origen.

REPRESENTACION DE LA INFORMACION

Codificacin de nmeros de punto fijo con y sin signo

Nmeros reales (nmeros de punto flotante)

Caracteres para impresin de texto

RECORDAR
1. Para el almacenaje y posterior representacin de la informacin,
debemos recordar que el tamao de las locaciones de memoria
habitualmente es fijo, y que lo usual es tener caracteres de 8,16,32 o 64
bits.
2. Si bien intuitivamente para el ser humano es mas simple utilizar el
sistema decimal (tenemos 10 dedos), para una computadora que se
maneja con valores de 0 y 1, los sistemas de numeracin utilizados
sern binarios (binario, octal, hexadecimal).
NUMEROS DE PUNTO FIJO SIN SIGNO
Todos los nmeros a representar tienen exactamente la misma cantidad de
dgitos y la coma esta siempre ubicada en el mismo lugar.
5,12
9,11
En binario

11,10
01,10
00,11

En una computadora los nmeros no se almacenan como decimales sino que


se presupone que ocupan un lugar determinado que los identifica como tales
RANGO Y PRECISION EN NUMEROS DE PUNTO FIJO
RANGO: Expresa la diferencia entre el mayor y menor numero representable.
PRECISION: Distancia entre dos nmeros consecutivos en una serie numrica.

Ej.:
Para 3 dgitos en decimal
Rango:
0.00 a 9.99
Precisin:
La mitad entre dos valores consecutivos 0.01 y 0.02 max. Error 0.005.
LA LEY ASOCIATIVA DEL ALGEBRA NO SIEMPRE FUNCIONA EN LA
COMPUTADORA A+(B+C)=(A+B)+C)
Muchas veces las memorias se organizan de manera circular. Es decir,
despus de alcanzar la direccin ms alta continuamos en la direccin cero.
Esto significa que si a una direccin le aadimos una cantidad que sobrepasa
la direccin ms grande tendremos condicin de overflow, pero el resultado de
la suma no necesariamente es invlido. En memorias circulares nos apunta a
la direccin correcta a la que queremos llegar.
En el caso de nmeros en el formato de punto fijo con representacin
finita, donde suponemos un registro que almacena un solo digito.(0 a 9).
Ej.: A:7, B:4 y C:-3.
A+(B+C)= 7 + (4-3)= 8
(A+B)+C= (7+4) - 3= 11 - 3

FUERA DE RANGO
(A+B)+C = ( 7 + 4 ) 3 = 9 3 = 6

Se produjo un desborde en el resultado intermedio al utilizar un formato de


punto fijo de longitud finita.
La nica solucin es detectar el desborde y modificar el tamao del registro
donde se almacena el mismo, pero no siempre es posible hacerlo.

10

SISTEMAS DE NUMERACION POSICIONAL


Analiza la utilizacin de sistemas numricos con bases arbitrarias en escrituras
posicionales
BASE o RAIZ: de un sistema de numeracin define el rango de valores
posibles.

n 1

VALOR : bi .k i
i: m

Donde
b es el valor del digito
k es la base
i es la posicin del digito
n cantidad de dgitos de la parte entera
m cantidad de dgitos en la parte decimal
Ej.:

541,25
Base: 10 k= 10
n=3
m=2

= 5 x 102 + 4 x 101 + 1 x 100 + 2 x 10-1 + 5 x 10-2


= 500 + 40 + 1 + 2/10 + 5/100
= 541,25
Ej.: binario (1010,01)2
K=2
n=4
m=2
= 1 x 23 + 0 x 22 + 1 x 21 + 0 x 20 + 0 x 2-1 + 1 x 2-2

11

= 8 + 0 + 2 + 0 + 0/2 +
= 10,25

Ejemplo
Un profesor dice que hay 100 estudiantes en la clase de los cuales 24
son hombres y 32 son mujeres.
Qu base numrica est utilizando el profesor?
Sea n la base pedida.

Se debe cumplir que:


100n=1 x n2+0 x n1+0 x n0=24n+32n
1 x n2=(2 x n1+ 4 x n0)+(3 x n1+2 x n0)
.
n2 = 5n + 6
n2 + 5n + 6 = 0
Por tanto n = 6 y n = - 1.
La base que est utilizando es 6.
El nmero de estudiantes es (en base 10):
estudiantes.
Nmero de hombres:

12

Nmero de mujeres:

CONVERSION ENTRE SISTEMAS


DEFINICIONES. SISTEMAS BINARIO, OCTAL Y HEXADECIMAL
El sistema binario es un sistema de numeracin en el que los nmeros se
representan utilizando solamente dos bits que pueden ser cero o uno (0 y 1).Su
base numrica es 2.
El octal utiliza tres bits por lo que comprender del 0 al 7 y su base numrica
ser 8.
El hexadecimal utiliza 4 bits y numera 16 posiciones (0, 1, 2, 3, 4, 5, 6, 7, 8 ,9,
A , B ,C ,D ,E y F) y su base numrica es 16.
Comenzareos con el sistema BINARIO Es simple pasar de binario a decimal,
no al revs.
Si hay parte entera y decimal, se operan por separado
Conversin a binario de la parte entera de un nmero de punto fijo
La representacin era
bi x 2i + b i-1 x 2 i-1 + + b1 x 21 + b0 x 20
dividiendo el numero por 2
bi x 2i-1 + b i-1 x 2 i-2 + + b1 x 20 con un resto de b0.
METODO DE LOS RESTOS
Ej.: 23
23/2 = 11

resto 1

11/2 = 5

resto 1

5/2= 2

resto 1

bit menos significativo

13

2/2= 1

resto 0

1/2 = 0

resto 1

bit mas significativo

(23)10 = (10111)2

En forma inversa
= (10111)2
= 1 x 24 + 0 x 23 + 1 x 22 + 1 x 21 + 1 x 20
= 16 + 0 + 4 + 2 + 1
= 23
CONVERSION DE LA PARTE FRACCIONARIA DE UN NUMERO DE
PUNTO FIJO
METODO DE LAS MULTIPLICACIONES
Una fraccin binaria esta representada por:
b-1 x 2-1 + b-2 x 2-2 + b-3 x 2-3 +
si multiplicamos por 2
b-1 + b-2 x 2-1 + b-3 x 2-2 +

14

Ej.: 0,375
0.375 x 2 =

0.75 bit mas significativo

0.75 x 2 =

1.5

0,5 x 2 =

bit menos significativo

(0.375)10 = (0.011)2
(0.011)2 = 0 x 2-1 + 1 x 2-2 + 1 x 2-3
= 0 +1/2 + 1/8
= 0 + 0.25 + 0.125
= (0.375)10
FRACCIONES NO EXACTAS
No todas las fracciones representadas en el sistema decimal tienen un nmero
racional exacto en binario.
Ej.: (0,2)10
0.2 x 2 =

0. 4

0.4 x 2 =

0. 8

0.8 x 2 =

1. 6

0.6 x 2 =

1. 2

0.2 x 2 =

0. 4

Para nmeros de un solo digito, solo 0 y 0.5 dan soluciones exactas


0.5 x 2 =

0x2=

15

Para nmeros de 4 dgitos lo hacen 0 , 0.25 , 0.5 y 0.75

REPRESENTACION DE NUMEROS EN LOS SITEMAS BINARIO, OCTAL Y


DECIMAL

Para pasar a octal se divide el nmero binario en grupos de 3, y para el


hexadecimal en grupos de 4.
(10110)2 = (010)2 (110)2 = (2)8 (6)8 = (26)8
(10110110)2 = (1011)2 (0110)2 = (B)16 (6)16 = (B6)16
CONVERSIN DE UN NUMERO DECIMAL A OCTAL
Para convertir un nmero en el sistema decimal al sistema de numeracin
Octal, debemos seguir los siguientes pasos
Ej.: Convertir el nmero decimal 323,625 a el sistema de numeracin Octal
1. Se toma el numero entero y se divide entre 8 repetidamente hasta que el
dividendo sea menor que el divisor, para colocar entonces el numero 0 y
pasar el dividendo a formar el primer dgito del numero equivalente en
decimal
2. Se toma la parte fraccionaria del numero decimal y la multiplicamos por 8
sucesivamente hasta que el producto no tenga nmeros fraccionarios
3. Pasamos la parte entera del producto a formar el dgito correspondiente
4. Al igual que los dems sistemas , el numero equivalente en el sistema
decimal , esta formado por la unin del numero entero equivalente y el
numero fraccionario equivalente.

16

Conversin de decimal a octal

CONVERSIN DE UN NUMERO OCTAL A BINARIO


La ventaja principal del sistema de numeracin Octal es la facilidad conque
pueden realizarse la conversin entre un nmero binario y octal. A continuacin
mostraremos un ejercicio que ilustrar la teora. Por medio de este tipo de
conversiones, cualquier nmero Octal se convierte a binario de manera
individual. En este ejemplo, mostramos claramente el equivalente 100 111 010
en binario de cada numero octal de forma individual.

Figura 11: Conversin de octal a binario

CONVERSIN DE UN NUMERO DECIMAL A UN NUMERO HEXADECIMAL


Convertir el nmero 250.25 a Hexadecimal
1.
2.

3.

4.

Se toma la parte entera y se divide sucesivamente por el numero


decimal 16 (base) hasta que el cociente sea 0
Los nmeros enteros resultantes de los cocientes, pasarn a
conformar el numero hexadecimal correspondiente, teniendo en
cuenta que el sistema de numeracin hexadecimal posee solo 16
smbolos, donde los nmeros del 10 hasta el 15 tienen smbolos
alfabticos que ya hemos explicado
La parte fraccionaria del numero a convertir se multiplica por 16
(Base) sucesivamente hasta que el producto resultante no tenga
parte fraccionaria
Al igual que en los sistemas anteriores, el numero equivalente se
forma, de la unin de los dos nmeros equivalentes, tanto entero

17

como fraccionario, separados por un punto que establece la


diferencia entre ellos.
Resto

valor en hexa.

250 / 16 = 15

10

15/16 = 0

15

ENTERO

FRACCIONARIA
0,25 X 16 = 4

(250.25)10 = (FA.4)16
(FA) 16= (15 x 16) + (10 x 1) = 250
CONVERSIN DE UN NUMERO HEXADECIMAL A UN NUMERO DECIMAL
Como en los ejemplos anteriores este tambin nos ayudar a entender
mejor este procedimiento:
Convertir el numero hexadecimal 2B6 a su equivalente decimal.
1. Multiplicamos el valor de posicin de cada columna por el dgito
hexadecimal correspondiente.
2. El resultado del nmero decimal equivalente se obtiene, sumando todos
los productos obtenidos en el paso anterior.

18

O lo que es lo mismo
n 1

VALOR : bi .k i
i : m

y B16= 1110

2 x 162 + 11 x 161 + 6 x 160 = 69410

ARITMETICA DE LAS COMPUTADORAS


SUMA: Similar a la realizada a mano para nmeros decimales
0+0=0
0+1=1
1+0=1
1+1=0 y nos llevamos 1 (arrastre)
Arrastre

11110000

Sumando A

01111100

(124)10

Sumando B

01011010

(90)10

11010110

(214)10

SUMA BINARIA

19

Suma binaria
La suma o adicin binaria es anloga a la de los nmeros decimales. La
diferencia radica en que en los nmeros binarios se produce un acarreo
(carry) cuando la suma excede de uno mientras en decimal se produce un
acarreo cuando la suma excede de nueve(9). Del grfico anterior podemos
sacar las siguientes conclusiones:
1. Los nmeros o sumandos se suman en paralelo o en columnas, colocando
un numero encima del otro. Todos los nmeros bajo la misma columna
tienen el mismo valor posicional.
2. El orden de ubicacin de los nmeros no importa (propiedad conmutativa).

Reglas para la suma binaria


En la figura anterior se indican las reglas que rigen la suma binaria y en la
figura proxima se muestra un circuito lgico llamado semisumador, que
suma 2 bits (A y B) que genera un bit de suma y un bit de acarreo cuando
este se produce.
La operacin de un semisumador como el anterior mostrado en la figura se
puede sintetizar mediante las siguientes 2 operaciones booleanas:
S=A(xor)B (suma) Co=AB (acarreo) Para realizar una suma binaria donde
se tenga presente un carry de entrada se debe implementar un circuito que
tenga presente esta nueva variante; como es el caso del sumador completo.
El sumador completo tiene 3 entradas que se suman y son: A, B, y Cin
(entrada de arrastre), y las salidas habituales S y Co (suma y salida de
arrastre)

Semisumador

Sumador completo

20

RESTA: Se resuelve igual que en el sistema decimal, tomando una unidad


prestada de la posicin siguiente: 10-1=1 y me llevo 1, lo que en decimal
equivale a decir 2 1 = 1. Esa unidad prestada debe devolverse, sumndola a
la posicin siguiente.
10001

(17) 10

-01010

-(10 ) 10

00111

( 7 ) 10

RESTA BINARIA

Resta binaria

La resta o sustraccin de nmeros binarios es similar a los nmeros decimales.


La diferencia radica en que, en binario, cuando el minuendo es menor que el
sustraendo, se produce un prstamo (o borrow) de 2, mientras que en decimal
se produce un prstamo de 10.
Al igual que en la suma, el proceso de resta binaria, se inicia en la columna
correspondiente a la de los dgitos menos significativos. En la figura 5 se
indican las reglas que rigen la resta binaria y en la figura 6 se muestra un
circuito lgico, llamado semirrestador (HS), que sustrae un B de un bit A y
suministra un bit de diferencia (Di) y un bit de prstamo (Bo).
La operacin de un Semirrestador como el mostrado en la figura anterior se
puede resumir mediante las 5 ecuaciones booleanas:
Di=AB(neg)+A(neg)B= A(xor)B (diferencia) Bi=A(neg).B (borrow)

21

En la figura siguiente se muestra el proceso de resta de 2 nmeros binarios de


5 bits. El objeto de esta operacin es ilustrar el manejo de los prstamos y
plantear la necesidad de un restador completo de 2 bits que tenga, como
entradas, el minuendo, el sustraendo, y el prstamo anterior y ofrezca como
salidas, la diferencia y el prstamo, si existe.
En la figura se muestra el diagrama de bloques, conexin en bloques utilizando
semirrestadores y una puerta OR y el diagrama lgico de un restador completo.

Figura 6: Semirrestador

Restador completo

NUMEROS DE PUNTO FIJO CON SIGNO


Hay 3 convenciones en la representacin de nmeros con signo

MAGNITUD (Valor Absoluto) y SIGNO

COMPLEMENTO (A UNO, A DOS, A NUEVE, etc)

NOTACION EXCEDIDA

MAGNITUD Y SIGNO
(o Valor Absoluto y Signo)
Es la ms habitual
Para el signo se utiliza el bit de mayor valor significativo

22

0+
1
+(12)10 = (0000 1100)2
-(12)10 = (1000 1100)2
Existen dos representaciones para el cero
+0 = 0000 0000
-0 = 1000 0000
En este caso, con 8 bits se pueden representar 255 nmeros (no 256) por la
duplicacin del cero.

COMPLEMENTO A UNO
Nos permite obtener la representacin binaria de nmeros negativos. NO ES

DE USO COMUN
El bit de la extrema izquierda es el signo (0 = +, 1 = -).
El negativo de un numero se obtiene complementando cada bit de 0 a 1 o de
1 a 0.Esto convierte numeros positivos en negativos y negativos en positivos.
Dos representaciones para cero: +0 = 000000002, -0 = 111111112.
Si se usa una representacion de 8 bits el mayor nmero es +12710, y el mas
pequeo -12710.
Tiene una resolucin trivial
Para la parte negativa convierte todos los ceros en uno y todos los unos en
cero.
Decimal

Magnitud y Signo

Complemento a Uno

011

011

010

010

001

001

+0

000

000

-0

100

111

-1

101

110

23

-2

110

101

-3

111

100

Esto se conoce como complementacin de la palabra.


Ejemplo:
+2510 = 000110012
-2510 = 111001102
Desventajas de la representacin en Complemento a uno
Siguiendo con el ejemplo de n = 8 (8 bits).
Posee doble representacin del cero. Al representar en Complemento a uno,
aparece nuevamente el cero signado: 000000002 (+010) y 111111112 (-010).
Ventajas de la representacin en Complemento a uno
Siguiendo con el ejemplo de n = 8 (8 bits).
Posee un rango simtrico: los nmeros van del +12710 = 011111112, pasando
por el +010 = 000000002 y el -010 = 111111112, hasta el -12710 = 100000002. Y
en forma general, para n-bits, el rango (en decimal) para Complemento a uno
es (-(2n-1-1); 2n-1-1), o bien 2n-1-1.
Permite operar aritmticamente. Al operar se debe sumar el acarreo obtenido al
final de la adicin/resta realizadas (conocido como end-around carry), en caso
de haberlo obtenido, para conseguir el resultado correcto.
Ejemplo: 000101012 + 100111102 = 101100112 (+2110 + -9710 = -7610) puesto
que el end-around carry es cero; pero, 000000102 + 111111102 = 1000000002
(+210 + -110 = -010 +110), que corregimos mediante 000000102 + 111111102 =
000000002 + 12 = 000000012, que es el resultado correcto.
Los protocolos de Internet IPv4, ICMP, UDP y TCP usan todos el mismo
algoritmo de suma de verificacin de 16 bits en complemento a uno.
Aunque la mayora de la computadoras carecen del hardware para
manejar acarreo del ltimo bit (end-around carry), la complejidad adicional es
aceptada ya que es igualmente sensible a errores en todas las posiciones de
bits.
En UDP, una representacin de todos ceros indica que la suma de
verificacin opcional ha sido omitida. La otra representacin, todos unos, indica
un valor 0 en la suma de verificacin (las sumas de verificacin son obligatorias
para IPv4, TCP e ICMP; fueron omitidas en IPv6).

COMPLEMENTO A DOS

24

Se realiza el complemento a 1 y se le suma 1 al resultado obtenido, y si hay un


arrastre al bit mas significativo, se descarta excepto que haya desborde.
Su ventaja es que hay una sola representacin del cero.
Como definicin, el complemento a dos de un nmero N que, expresado
en el sistema binario est compuesto por n dgitos, se define como:
C2N : 2n N
+ (0)10 = (0000 0000)2
complemento
-

(0)10 = 1111 1111


+

0000 0000
+ (12)10 = 0000 1100
complemento
- (12)10 = 1111 0011
+

1111 0100

Se considera solo +0 y para abajo arranca en -1

Es la representacin mas utilizada en computadoras


Desventajas de la representacin en Complemento a dos
Siguiendo con el ejemplo de n = 8 (8 bits).
Posee un rango asimtrico: los nmeros van del +12710 011111112, pasando
por el +010, 000000002. Y aqu aparece la primera diferencia, el 111111112, ya
no es -010 como en la representacin anterior, sino que es -110, y al llegar al
100000002 nos encontramos con que el complemento a dos de 100000002 es
100000002, el mismo nmero!. Por convencin, se asigna a este nmero
particular el valor -1282 (para 8 bits). Luego, en forma general, para n-bits, el
rango (en decimal) para Complemento a dos es (-2n-1; 2n-1-1).

25

Ventajas de la representacin en complemento a dos


Siguiendo con el ejemplo de n = 8 (8 bits).
No posee doble representacin del cero.
Permite operar aritmticamente.
REPRESENTACION GRAFICA DE COMPLEMENTO A 2

EJEMPLO
Sumar +2 y -1
+2

0010
+

-1

1111
0001 con overflow de 1 que se descarta

DECIMAL CODIFICADO EN BINARIO y COMPLEMENTO A 9 Y 10


En la representacin de complemento a nueve los nmeros positivos se
representan en el formato BCD habitual, pero el digito decimal mas significativo
adopta un valor menor a 5 si el nmero es positivo y 5 o mas si el numero es
negativo.
El complemento a 9 se obtiene restando cada digito de 9.

Ej.:

+ 301 0301

26

301 9698

El complemento a 10 se obtiene sumando 1 al complemento a 9

- 301 = 9698 + 1 = 9699


Rango:

nmeros positivos =

0 a 4999

nmeros negativos =

5000 a 9999

27

REPRESENTACION EXCEDIDA (DESPLAZADA)


Los nmeros se tratan como si no tuviesen signo, pero se los desplaza en su
valor por medio de la resta de otro nmero conocido como exceso o
desplazamiento.

Lo que logra es desplazar el nmero en un valor dado.


Ej.: +12 y -12 con representacin en exceso 128.
128 + 12 = 140 + 12 = (1000 1100)2
128 - 12 = 116

- 12 = (0111 0100)2

No hay ningn significado numrico asociado con el valor del exceso. Su efecto
es simplemente el de desplazar la representacin de los nmeros expresados
en complemento de dos.

28

+ 127 = 1111 1111


- 128 = 0000 0000
En el exceso a K, a cada nmero se le suma el mismo valor, y est en
exceso por dicho valor.
Este formato es habitual para la representacin del exponente en
nmeros en punto flotante.
K no tiene un valor estandarizado, pero suele tomarse como 2n-1 (que
coincide con el complemento a dos con el bit ms significativo negado), o como
2n-1-1 (como en el caso de la norma IEEE-754).
Ejemplo de Exceso 2n-1
Sea una representacin en formato de Exceso que nos permite codificar
en binario en punto fijo con 8 bits (un byte).
Luego, los nmeros 8 bits sern representados en Exceso a 28-1 = 12810.
Con 8 bits, podemos representar, 28 = 256 nmeros.
Supongamos que debemos representar el nmero -9710 (decimal) con un
desplazamiento 128
Procedemos a:
Tomar el nmero -9710 y sumarle el exceso, en este caso 12810, luego 9710 + 12810 = 3110;
Convertimos a binario, 3110 = 000111112.
Para el caso inverso, dado un nmero binario en Exceso 12810, por
ejemplo, 101101012, procedemos a:
Convertir el nmero a la base deseada, por ejemplo, en decimal:
101101012 = 18110;
Pero el valor obtenido est en exceso 128, luego debemos quitarle dicho
exceso, restando 128: 18110 - 12810 = 5310.
Desventajas de la representacin en Exceso 2n-1-1
Siguiendo con el ejemplo de n = 8 (8 bits).
Requiere de operaciones aritmticas intermedias para su obtencin, y de
cambiar el nmero de bits se deben actualizar dichas operaciones intermedias
para reflejar el nuevo exceso.
Posee rango asimtrico: ste va desde +12810 = 111111112 hasta -12710 =
000000002. Y en forma general, para n-bits, el rango (en decimal) para Exceso
2n es (-2n-1+1; 2n-1).
Ventajas de la representacin en Exceso 2n-1-1

29

Siguiendo con el ejemplo de n = 8 (8 bits).


El menor nmero posible de representar consiste en todos los bits en cero y el
mayor en unos.
Permite operar aritmticamente, pero hay que tener en cuenta que cada
operacin lleva asociado su exceso y esto hay que restrselo al resultado final,
para corregir la representacin. Por ejemplo, 000111102 + 101101012 =
110100112 (-9710 + 5410 = 21110 -4310). El resultado, en aparente exceso
12710, 21110, al quitarle dicho exceso es 21110 - 12710 = 8410.
Hay que tener en cuenta que al sumar dos nmeros con exceso 12710,
debemos restar, dos veces el exceso. Luego 8410 - 12710 = -4310, que es el
resultado correcto.
No hay empaquetacin del nmero. Por esto nos referimos a que no hay que
recordar que partes del nmero son signo y significando, sino que los n-bits,
son el nmero

30

REPRESENTACION EN PUNTO FLOTANTE


Ej.: Nmero de Avogadro = + 6.023 x 1023

(El NUMERO DE AVOGADRO ES EL NUMERO DE MOLECULAS QUE HAY


EM UN MOL DE GAS.
ES UNA CONSTANTE UTILIZADA EN FISICA Y QUIMICA PARA
ESTABLECER UNA RELACION ENTRE LA MASA O EL VOLUMEN Y LA
CANTIDAD DE MATERIA. SE DEFINE COMO LA CANTIDAD DE ATOMOS
DE CARBONO 12 CONTENIDOS EN 12 GRAMOS DE ESTE ELEMENTO
(Definicin de MOL).
EL VALOR RECOMENDADO ES NA = (6,0221415 + 0,000001) x 1023 mol-1
El MOL es la unidad bsica del SISTEMA INTERNACIONAL DE UNIDADES
que mide la CANTIDAD DE SUSTANCIA de un elemento.)
Con coma fija es complicado representar nmeros muy grandes o muy
pequeos.
Una forma de solucionarlo para nmeros decimales es utilizando la notacin
cientfica (9.76 x 1014 o 9.76 x 10-14 me ahorran el escribir 13 ceros).
Se separan los dgitos utilizados para determinar la precisin de los que se
necesitan para representar el rango.

31

Ubicacin de la coma
potencia
+ 23 6,023
signo
Exponente
Dos dgitos

Mantisa
Cuatro digitos

En la divisin de dos nmeros grandes puede perderse la parte fraccionaria del


cociente.
La misma tcnica de correr la coma y poner una potencia de 10 puede hacerse
con los nmeros binarios.
Permiten representar un amplio rango de nmeros con poca cantidad de dgitos
binario

Otra forma de explicarlo es:


Una representacin en coma flotante se compone de tres nmeros (campos)
que siguen el siguiente patrn:

r = m . be
r: valor real del nmero a representar
m: mantisa o significando, dgitos significativos del nmero. El tamao mximo
de este campo, usualmente fijo y limitado, determina la precisin de la
representacin. Este campo est usualmente normalizado, es decir, su parte

32

entera slo consta de un dgito (que ser la primera cifra significativa del
nmero a representar).
b: base del sistema de representacin (10 en sistema decimal, 8 en sistema
octal, 2 en sistema binario, etc)
e: exponente, orden de magnitud del significando. El mnimo y mximo valor
posible del exponente determinan el rango de valores representables. Como
puede notarse, cabe aadir que cuando e vale cero el valor real coincide con el
significando.

En ciertos casos se usa como, con un cuarto campo, s, que tiene el valor de 1
-1 segn el signo del nmero (que se extrae del significando).

RANGO Y PRECISION EN LOS NUMEROS CON COMA FLOTANTE


MANTISA se denomina en esta forma al valor del punto fijo
El rango de la representacin queda determinado bsicamente por la cantidad
de dgitos del EXPONENTE y la BASE a que ese exponente afecta.
La PRECISIN queda determinada por la cantidad de dgitos de la mantisa.
La coma decimal no se almacena porque ocupa siempre la misma posicin
dentro de la mantisa.
Como dijimos, si representamos un numero como
+ m x b +e
donde:
+ : Signo

33

m: Parte SIGNIFICATIVA o MANTISA (tambin se escribe S:


Significand)
b: Base
e: Exponente
Ejemplo:
Numero con coma flotante de 32 bits
0.11010001 x 210100
:

0 10010011 101000100000.

El bit mas a la izquierda contiene el signo del numero (0:+, 1:-).


El valor del exponente se almacena en los bits 1 a 8 en forma desplazada
(sesgada).
Un valor fijo llamado desplazamiento (osesgo) se resta de este campo para
conseguir el valor de exponente verdadero.
Generalmente el desplazamiento tiene el valor:
(2k-1 1)
donde k es el numero de bits en el exponente binario
Para k:8 quedaria
28-1 1 = 27 1 = 128 1= 127
Ejemplo:
En este caso hay un campo de 8 bits (0 a 255). Con un desplazamiento de 127
los valores del exponente sern de -127 a + 128
MANTISA: La normalizamos (llevamos al numero a la forma 0,x) es decir que
cualquier numero quedara;
+ 0.1 bbbb x 2+E
donde cada b es un digito binario.
NORMALIZACION Y ESQUEMA DE BIT IMPLICITO

34

Uno de los problemas existentes es que el mismo nmero puede representarse


de varias maneras.

3584.1 x 100 = 3.5841 x 103 = 0.35841 x 104


Para evitar esta circunstancia se emplean formatos normalizados.
La coma se desplaza a la derecha o a la izquierda y se ajusta el exponente en
forma coherente con el desplazamiento de la coma hasta ubicarla a la izquierda
del digito no nulo mas significativo.
En el caso anterior seria = 0.35841 x 104
Esto implica no poder representar el cero. El mismo se representa con una
mantisa nula.
Si la condicin de normalizacin implica que la mantisa siempre comienza con
un uno, este se puede sobrentender y esconder.
Esto implica que el bit mas a la izquierda de la mantisa es siempre 1.
Como es innecesario almacenarlo, ese bit esta siempre implcito.
De esa forma el campo de 23 bits almacena una mantisa de 24 bits.

Ej.:

0.11010 se almacena como 1010

Ej.: 358
REPRESENTARLO EN BASE 16 CON DESPLAZAMIENTO DE 4
1ro pasarlo a base 16

35

entero

resto

358/16:

22

22/16:

1/6

(358)10 = (166)16
(166)16 = (166.0)16 x 160
= (0.166)16 x 163

1. Es + = 0
2. Exponente: 3
3. Representado en exceso 4.

011 (+3)10
exceso 4

+100 (+4)10

Exponente en exceso 4

111

signo exponente

111

0001 0110 0110


1

mantisa
La coma no se representa, esto implica que la computadora almacena:
0111 0001 0110 0110
REPRESENTACION DE NUMEROS DE PUNTO FLOTANTE DENTRO DE
LA COMPUTADORA

36

La mantisa se representara en forma de magnitud y signo, con un bit para el


signo y tres dgitos hexadecimales (12 bits) como tamao de la representacin.
Exponente de 3 bits, expresado en exceso 4 con base 16
Forma normalizada con la coma a la izquierda de los 3 dgitos hexadecimales.

El signo se almacena en el 1er. Bit de la palabra

El 1er. Bit de la mantisa original es siempre 1 y no necesita almacenarse


en el campo de la mantisa.

Se suma 127 al exponente original para almacenarlo en el campo del


exponente.

La base es 2.

La siguiente figura indica el rango de nmeros que pueden representarse con


una palabra de 32 bits

ENTEROS REPRESENTABLES

NOTACION ENTERA EN COMPLEMENTO A DOS


ENTEROS EN COMPLEMENTO A
DOS
DESBORDA
Pueden representarse
todos
los enteros
desde NUMEROS
-231 hasta 231 1 con un total
DESBOR
MIENTO A
NUMEROS
DAMIENTO CERO
NEGATIVOS
POSITIVOS
de 232 nmeros diferentes.
REPRESENTA A CERO
POSITIVO
REPRESENTA
NEGATIVO
BLES
BLES
DESBORDAMIEN
DESBORDAMIEN
TO POSITIVO
ConTOelNEGATIVO
ejemplo de coma flotante son posibles los siguientes rangos:

Nmeros negativos:

-( 1 2-24) x 2128
NUMEROS
-0.5
x 2-127EN COMA FLOTANTE

37

El DESBORDAMIENTO u OVERFLOW ocurre cuando una operacin aritmtica da lugar a


un nmero cuyo exponente es mayor a 128
Estn excluidos

Nmeros negativos menores que (1 2-24) x 2128

DESBORDE
NEGATIVO

Nmeros negativos mayores que 0.5 x 2-127 DESBORDE A CERO


NEGATIVO

El cero

Nmeros positivos menores que 0.5 x 2-127

DESBORDE A CERO
POSITIVO

Nmeros positivos mayores que (1 2-24) x 2128 DESBORDE


POSITIVO

Un desbordamiento ocurre cuando una operacin aritmtica da lugar a un


numero cuyo exponente es mayor que 128 (ej. 2120 x 2100 = 2220).

38

Un desbordamiento a cero ocurre cuando una magnitud fraccionaria es


demasiado pequea (ej. 2-120 x 2-100 = 2-220).
Los nmeros con coma flotante no estn espaciados por igual en la recta de
nmeros reales.

Hay mas valores en el origen, y esto puede dar lugar a errores al multiplicar
nmeros altos.

En el formato de punto fijo la coma decimal esta en una ubicacin fija y hay una
cantidad de dgitos delante y detrs de la misma.
Esto puede implicar palabras de computadora muy largas. Una cifra de billones
con una fraccin tambin de millonsimas llevara al menos 80 bits (40 a la
derecha de la coma y 40 a la izquierda).
ERRORES EN LA REPRESENTACION DE PUNTO FLOTANTE

Tiene precisin finita, eso implica que se debe considerar el tamao del
error.

Por error se considera la distancia entre dos nmeros representables


consecutivos

CARACTERIZACION DEL ERROR, EL RANGO Y LA PRECISION


b: base
S: cantidad de dgitos significativos (no bits) en la mantisa
M: mayor exponente
m: menor exponente

39

Si la base es diferente a 2, la cantidad de dgitos es diferente a la


cantidad de bits.

Si la base es 2k, siendo k un entero se utilizaran k bits para representar


cada digito
Base 16 : 24 : 4 bits x digito

Como el exponente es de 3 bits y se representa en exceso 4, esto le


asigna al exponente desde -22 hasta 22-1.

Si

b : 16
S:3
M:3
m: -4

CARACTERISTICAS A CONSIDERAR EN LA REPRESENTACION CON


PUNTO FLOTANTE

Cual es la cantidad de nmeros que permiten representar.

Cuales son los nmeros de mayor y menor magnitud (fuera del cero).

Cuales son los tamaos de la mayor y menor diferencia entre nmeros


consecutivos.

La cantidad de nmeros representados puede expresarse por:


2

((M m) + 1)

(b 1)

bs-1

Bit de

Cantidad de

1er digito de

dgitos

cero

Signo

exponentes

la mantisa

restantes de
La mantisa

C 1er digito de la mantisa

40

En un formato normalizado puede tomar cualquier valor excepto cero.

Los digitos restantes pueden adoptar cualquiera de los b valores


diferentes ( bs-1 en D ).

Si se utiliza un bit implcito debe eliminarse la posicin C y esto hace que


D sea reemplazado por bs.

La posicin para el cero se considera en E.

Nmeros extremos de la posicin planteada


Mnimo valor: numero con menor exponente y la menor mantisa normalizada
no nula

bm x b-1 : bm-1

Mximo valor: mayor mantisa (todos 1) y el mximo exponente bM x ( 1 b-s).


Diferenca mxima y mnima:
Menor diferencia:

bm x b-s : b(m-s)

Mayor diferencia:

bM x b-s : b(M-s)

Ej.:

Bit de signo

Exponente de 2 bits en notacin exceso 2.

Mantisa normalizada binaria de 3 bits con el 1er. Uno no visible, no


implcito.

Cero : 00 0000

Minimo valor: exponente= -2


Mnima mantisa normalizada: (0.100)2
bm x b-1 : bm-1 : 2-2-1 : 1/8
Maximo valor: bM x (1 b-5) : 21 x (1 2-3) : 7/4

41

Distancia mas chica


Cuando el exponente tiene el menor valor y se produce un cambio en el bit
menos significativo de la mantisa.

bm x b-s : bm-s : 2-2-3 : 1/32


Distancia maxima
Con el mximo valor del exponente se altera el bit menos significativo de la
mantisa.

bM x b-s : bM-s : 21-3 :


Debido a la normalizacin, la cantidad de nmeros validos es menor a la
cantidad de combinaciones.
: 2 x ((M m) + 1) x (b 1) x b5-1 + 1
: 2 x ((1 (-2) + 1) x (2 1) 23-1 + 1
: 33

Los intervalos son pequeos para nmeros pequeos y aumentan para


nmeros grandes

El error relativo es aproximadamente el mismo en todo el rango.

Ej.:
Convertir 9.375 x 10-2 a formato de numeracin cientfica utilizando el sistema
binario de numeracin.
x, yy x 2E

42

0.09375 x 2 :

0.1875

0.1875 x 2:

0.375

0.375 x 2:

0.75

0.75 x 2:

1.5

0.5 x 2:

(0.09375)10 : (0.00011)2
Conversin a representacin normalizada de punto flotante
0.00011 : 0.00011 x 20 : 1.1 2-4

43

44

IEEE 754
Es la utilizada habitualmente por todas las arquitecturas modernas.
Es un Standard que se desarrollo para facilitar la portabilidad de los programas
de un procesador a otro. Es el utilizado en casi todos los procesadores
matemticos actuales
Formatos
Dos formatos
Simple precisin
Doble precisin
A su vez, cada uno de estos admiten dos formatos ampliados (simple y doble)
cuya forma exacta depende del procesador en que se utilice. Se los utiliza en
clculos intermedios para disminuir el error.
Simple precision
32 bits

8 bits

Signo
(1 bit)

23 bits

Mantisa

Exponente

Doble precisin

64 bits

11 bits

Signo
(1 bit)

Exponente

52 bits

Mantisa

45

Signo

0 positivo

1 negativo

Exponente de 8 bits implica exceso 127, exponente de 11 bits implica exceso


1023
Las combinaciones 0000 0000
1111 1111
quedan para casos especiales
Mantisa
23 bits pero con un bit implicito 1.fffffff...fff
El nmero se presenta normalizado, (de la forma 1.xxx donde se ignora el 1)
a no ser que la estructura los soporte desnormalizados.

En la norma se pueden representar 5 tipos de nmeros.


Nmeros no nulos
De la forma antes mencionada.
Admite una representacin limpia del cero.
Todos 0 en el exponente y 0 en la mantisa.
El bit de signo puede ser 1 o 0 (2 representaciones de cero)
Infinito
Bit de signo 0 o 1
Exponente

1111 1111

46

Mantisa

Se utilizan para manejar situaciones de desborde o para representar un


numero dividido por cero.
Intervalo entre cero y el 1er. Numero que puede representarse
Los nmeros incluidos en este intervalo se resuelven con el cero sucio
desnormalizado.

El bit de signo puede ser 0 o 1

El campo del exponente 0000 0000 (-126) para precisin simple y -1022
para doble precisin.

En este formato no hay bit implcito.

(b) utiliza el mnimo exponente en simple precisin


(c) utiliza el exponente mximo en simple precisin (+127).
(d) y (e) son dos representaciones del cero.
(f) +

47

(h) +NaN: Not a number


Resumen
NUMERO EN PUNTO

e (EXPONENTE)

f (MANTISA)

FLOTANTE
Normalizados

0Exp. maximo

Cualquier combinacin
de 1s y 0s

Desnormalizados

00000.0

Cualquier combinacin
de 1s y 0s distinta de
00000..0

Cero

00000..0

000000.0

Infinito

11111.....1

000000.0

Not a Number

11111.1

Cualquier combinacin
de 1s y 0s distinta de
00000.0

Extendido simple Extendido doble


No son visibles para el usuario, pero se usan internamente para disminuir los
errores de redondeo.
Les agregan bits al exponente y a la mantisa.
Ej. El formato extendido doble tiene 80 bits (15 bits de exponente y 64 para la
mantisa).
PARAMETROS DEL FORMATO IEEE 754

PARAMETRO

FORMATO
SIMPLE

SIMPLE

DOBLE

DOBLE

AMPLIADO

SIMPLE

AMPLIADO

Longitud de la palabra (bits)

32

43

64

79

Longitud del exponente (bits)

11

11

15

Sesgo del exponente

127

Sin

1023

Sin

48

especificar

especificar

Exponente mximo

127

1023

1023

16383

Exponente minimo

-126

-1022

-1022

-16382

10-38,

Sin

10-308

Sin

10+38

especificar

10+308

especificar

Rango de nmeros (base 10)


Longitud de mantisa (bits)

23

Numero de exponentes

254

Numero de fracciones o mantisas


Numero de valores

223
1.98x231

31
Sin
especificar
Sin
especificar
Sin
especificar

52
2046
252
1.98x263

63
Sin
especificar
Sin
especificar
Sin
especificar

Ejemplo
Escribir 710 en precisin simple
710 = 1112
NORMALIZANDO 1.11 2 X 22
El signo es + por lo que el campo S = 0
Exponente con exceso 127 = 2 + 127 = 1000 00012

710 = 0 1000 0001 11000000000000000000000

Escribir (-21)10 en precisin simple


2110 = 101012
NORMALIZAMOS 1.01012 X 24

49

El signo es por lo que S = 1


Exponente con exceso 127 = 4 + 127 = 131 = 1000 00112

(-21)10 = 1 1000 0011 010100000000000000000000000


Escribir 0,310 en precisin simple
Es un numero que al dividirlo por 2 no nos da exacto
0,310 = 0,010011001100110011.2
= 1,00110011001100011.. x 2-2
Exponente

-2 + 127 = 12510 = 0111 11012

Signo = + = 0

0,310 = 0 0111 1101 0011001100110011..

RANGO DE VALORES
Para un nmero de 32 bits (8 bits de exponente)
+/- 2256 = 1,6 x 1077
PRECISION
Con 23 bits de mantisa 2-23 = 1,192 x 10-7

50

Eso equivale a un nmero entero con 7 decimales


CASO MISIL PATRIOT
De acuerdo al gobierno de EE.UU, la prdida de precisin al convertir un
nmero integrado de 24 bits en un numero de punto flotante de 24 bits fue el
responsable por la falla del misil Patriot.

51

CODIGOS ALFANUMERICOS
ASCII
EBCDIC
UNICODE
ASCII
American Standard Code for Information Exchange
Son 7 bits x caracter, lo que implica 128 caracteres validos
00 1F y 7F son caracteres de control
La tabla de valores tiene un ordenamiento especial

Para obtener el valor decimal de un digito se debe restar (30)16 a la


representacin ASCII del mismo.
5 es (35)16 - (30)16 = 5 o lo que es lo mismo (35 30 = 5)16

Para convertir una letra mayscula en minscula se le suma (20)16


H es (48)16 y eso implica ( 48 + 20 = 68 )16 = (68)16 = h

52

EBCDIC

El problema con el ASCII es la poca cantidad de caracteres que puede


manejar, especialmente caracteres especiales.

El EBCDIC (Extended Binary Coded Decimal Interchange Code) es


bsicamente utilizado por IBM pero es compatible con el ASCII

53

UNICODE
El ASCII y el EBCDIC manejan bsicamente caracteres latinos, por lo que para
poder manejar otros idiomas se creo el UNICODE.

Es una norma en desarrollo que se modifica a medida que se incorporan


los smbolos correspondientes a caracteres nuevos.

La versin 2.0 puede representar 38.855 caracteres diferentes.

Utiliza un conjunto de caracteres de 16 bits.

Es en realidad un subconjunto del UCS-4 : Conjunto Universal de


Caracteres ISO 10646 de 32 bits de palabra.

54

ARITMETICA
SUMA Y RESTA EN PUNTO FIJO
El enfoque se orienta hacia las operaciones en complemento a dos por ser esta
forma casi universal.
SUMA Y RESTA EN LA REPRESENTACION DE COMPLEMENTO A DOS
a b = a + ( - b)
El correspondiente negativo de un nmero se puede obtener por medio de su
complemento, por lo que una resta se puede realizar como la suma de su
complemento.
Lo que se debe hacer cuando se sumen nmeros en representacin de
complemento es modificar la interpretacin de los resultados de la suma.
0000 1010

(+10)10

+ 0001 0111 (+23)10


0010 0001 (+33)10
De igual forma se pueden sumar nmeros de signos opuestos.

arrastre a descartar

Recordar

0000 0101

(+5)10

+ 1111 1110

(-2)101

(1) 0000 0011 (+3)10

2 0000 0010

Complemento 1 de 2 1111 1101


+
1
Complemento 2 de 2
1111 1110

55

Cuando se suman dos nmeros representados en complemento dos se debe


descartar el arrastre producido por la suma en la posicin mas significativa.
dem cuando hay arrastre en la suma de dos nmeros negativos.
1111 1111

(-1)10

+ 1111 1100 (-4)10


arrastre a descartar

(1) 1111 1011 (-5)10

SE DESCARTA PORQUE EL SISTENA ES MODULAR


DESBORDE

Cuando se suman dos nmeros de igual signo. Se producir desborde si el


resultado es demasiado grande con la cantidad de bits utilizados para
representar los operandos.
0101 0000

(+80)10

+ 0011 0010

(+50)10

1000 0010

(-126)10

Cuando se suman dos nmeros de diferente signo no puede haber desborde.


REGLA

Si los nmeros que se suman tienen el mismo signo y el resultado tiene signo
opuesto, se ha producido desborde por lo que el resultado es incorrecto
Si los nmeros que se suman son de signo opuesto, no hay posibilidades de
desborde.
METODO ALTERNATIVO

56

Para detectar desborde en la suma hay que saber que se produce si y solo si el
arrastre que se ingresa hacia el bit de signo difiere del bit de arrastre que sale
de dicho bit.
DIAGRAMA DE BLOQUES DEL HARDWARE PARA LA SUMA Y RESTA
El elemento central es un sumador binario, al que se le presentan los nmeros
a sumar y restar, y produce una suma y un indicador de desbordamiento. El
sumador binario trata los dos nmeros como binarios sin signo.
Para sumar, los nmeros se presentan al sumador desde dos registros (A y B).
El resultado es normalmente almacenado en uno de estos registros o en un
tercero. La indicacin de desbordamiento se almacena en un indicador (o
biestable) de desbordamiento (OF: Overflow flag) de 1 bit (0 =
desbordamiento, 1= desbordamiento). Para la resta, el substraendo (registro B)
se pasa a travs de un complementador que presenta su salida al sumador.

IMPLEMENTACION CIRCUITAL DE SUMADORES Y


RESTADORES
SUMADORES Y RESTADORES EN SERIE (RIPPLE CARRY
ADDER)
FIG. 3.2 SALE DEL APENDICE A.
VER PAGINA 469
OF: Bit
de IMPLEMENTACION
desborde
FALTA
LA
CIRCUITAL PAG. 65
SW: Conmutador (selecciona Suma o Resta)

57

SUMA Y RESTA EN REPRESENTACION DE COMPLEMENTO A UNO


No es muy utilizado en la actualidad, pero si en las primeras computadoras
El bit de arrastre que se genera a partir de la posicin mas significativa no se
descarta sino que se vuelve a sumar con la posicin menos significativa (se
denomina ARRASTRE CIRCULAR FINAL.
10011 (-12)10
+
01101 (+13)10
(1) 00000
+
00001
00001 (+1)10

Se suma el nmero porque en este caso hay dos representaciones para el cero
(000 y 111) y el agregado del bit de arrastre a la columna de las unidades
desplaza en 1 el resultado final para salvar esta situacin.
LA DISTANCIA ENTRE +0 Y -0 ES LA DISTANCIA ENTRE DOS ENTEROS

EL HECHO DE QUE EXISTAN DOS REPRESENTACIONES PARA EL CERO


ES UNA DE LAS RAZONES PARA QUE EL SISTEMA NO SE UTILICE

58

PRODUCTO Y COCIENTE EN PUNTO FIJO


MULTIPLICACION DE NUMEROS SIN SIGNO
Es similar a la realizada manualmente para los numeros decimales
1101 (13)10

MULTIPLICANDO M

x 1011 (11)10

MULTIPLICADOR Q

1101
1101
0000
1111
PRODUCTO P

1 0000111

(143)10

Cada bit del multiplicador determina el desplazamiento a la izquierda


Cuando se multiplican dos nmeros signados de n bits el resultado esta
formado por:
2 (n-1) + 1 = 2n 1 bits
signo
DIAGRAMA DE FLUJO PARA LA MULTIPLICACION DE BINARIOS SIN
SIGNO

59

IMPLEMENTACION CIRCUITAL
Ej. Unidad multiplicadora de 4 bits

suma

Lgica de
control para
suma y
desplazamiento

Desplazamiento a
la derecha

PASOS

A y C se limpian

M y Q contienen el multiplicando y el multiplicador

El bit menos significativo de Q es 1 por lo que M se suma con A

Los registros A y Q se desplazan a la derecha

Los registros A y Q se vinculan como un par para contener el producto


de 8 bits, el bit menos significativo de A se desplaza hacia la posicin
mas significativa de Q y el bit menos significativo de Q se descarta.

C se desplaza hacia la posicin mas significativa de A y se inserta un


cero en C

60

El proceso continua durante tantos pasos como bits tenga el


multiplicador.

4 bits 4 pasos
1
2

3
4

PRIMERO SUMA Y
DESPUES HACE EL
SHIFT

DESPLAZA SIEMPRE A LA DERECHA>>>>>>

61

DIVISION SIN SIGNO


RECORDAR
10=1
10 1 = 01
11=0
00=0
Y que (7/3 = 2 + R:1)

0111 11
11 0010
01 RESTO
En la divisin binaria se debe intentar reiteradamente la resta del dividendo
menos el divisor, usando la menor cantidad de bits posibles en el dividendo.
Ej.

42:6 = 7

Se intenta dividir el dividendo por el divisor, empezando por tomar en


ambos el mismo nmero de cifras (101 entre 110 por ejemplo). Si no
puede dividirse, se intenta la divisin tomando un digito ms (1010 entre
110).

Si la divisin es posible, entonces el divisor solo podr estar contenido


una vez en el dividendo, es decir que la primera cifra del cociente es 1.

En este caso el resultado de multiplicar el divisor por 1 es el propio


divisor. Restamos las cifras del dividendo del divisor y bajamos la cifra
siguiente.

El sistema contina de igual forma que en el sistema decimal.

La divisin se maneja en forma similar a la que se utiliza para el producto de


los enteros binarios con la dificultad de ver si el dividendo cabe o no en el
divisor.

62

En el algoritmo de divisin, en lugar de desplazar el


producto a la izquierda como en el producto, se
desplaza el cociente a la izquierda, y se resta en
lugar de sumar.
Cuando se dividen dos nmeros sin signo de n bits, el resultado no puede tener
ms de n bits.

63

IMPLEMENTACION CIRCUITAL
En la figura se muestra una unidad divisora para un nmero de 4 bits.

Logica de control
para suma, resta
y desplazamiento
Desplazamiento
a la izquierda

Se utilizan registros de 5 bits para A y M (en lugar de 4) porque se


requiere un bit adicional para indicar el signo de los resultados
intermedios.

Si bien este mtodo es para nmeros sin signo, como se utilizan restas
en el proceso, podran existir nmeros negativos.

Para dividir dos nmeros de 4 bits, se almacena el dividendo en el


registro Q y el divisor en el registro M, en tanto que el registro A y el bit
mas significativo de M se cargan con 0.

El bit ms significativo del registro A determina en cada paso si el divisor


debe volver a sumarse al dividendo.

Se habla de una divisin con reposicin porque en los casos en que el


resto es negativo, se debe restaurar el dividendo a su valor anterior.

64

Cuando el resultado no es negativo, el bit menos significativo de Q se


lleva a 1 para indicar que el divisor cabe en el dividendo.

PROCESO DE DIVISION
El registro A y el bit ms significativo de M se llevan a cero.

Los registros Q ( dividendo) y los bits menos significativos de M se


cargan con el valor del dividendo y el divisor respectivamente.

Los registros A y Q se desplazan en conjunto a la izquierda, y se resta el


divisor M de A.

Como el resultado es negativo, el divisor se vuelve a sumar para reponer


el dividendo y q0 se carga con 0.

El proceso se repite, desplazando A y Q a la izquierda y restando M de


A.

Nuevamente se obtiene un resultado negativo, por lo que se vuelve a


reponer el dividendo y se coloca un 0 en q0.

El proceso se repite una vez ms para realizar una iteracin final en la


que nuevamente A y Q se desplazan a la izquierda, y M se resta de A, lo
que vuelve a dar un resultado negativo.

Se repone el dividendo y se carga un 0 en q0.

El cociente queda contenido en el registro Q y en el A se coloca el resto.

65

DIVIDENDO Q

RESTO

COCIENTE

66

PRODUCTO Y COCIENTE SIGNADOS


Si se aplica el producto y cociente a nmeros con signos, pueden surgir
problemas.
Ej.

(-1) x (+1) = (+15) en lugar de (-1)

Esto sucede porque el bit de signo no se extendi hacia la izquierda del


resultado
Esto no es problema cuando el resultado es + dado que los bits de mayor peso
adoptan el valor 0.
Como tcnica general, la solucin consiste en convertir ambos operndoos a
su forma positiva, realizar la operacin y finalmente convertir el resultado a su
signo correcto
1111 (-1)10
x 0001 (+1)10
1111

1111 1111

(-1)10

0001

(+1)10

1111 1111

0000

0000 000

0000

0000 00

0000

0000 00

00001111 (+15)10

1111 1111

(-1)10

En la figura anterior se utiliza otra aproximacin en la que cada uno de los


productos parciales se extiende a todo lo ancho de la palabra resultado,
retenindose solo los bits menos significativos de dicho resultado. Si ambos
operandos son negativos, se extienden ambos signos, nuevamente
retenindose solo los 8 bits menos significativos del resultado.

67

ARITMETICA DE PUNTO FLOTANTE


Es similar a la de punto fijo, aunque hay que tener especial cuidado con las
caractersticas propias de dicho tipo de representacin.
El algoritmo tiene 4 etapas bsicas
1. Comprobar valores cero
2. Ajuste de mantisas
3. Sumar o restar las mantisas
4. Normalizar el resultado
Los inconvenientes que se pueden presentar en estas operaciones son:
Desbordamiento del exponente: un exponente positivo que excede el valor del
exponente mximo posible.
Desbordamiento a cero del exponente: exponente negativo menor que el
mnimo valor posible, con lo cual podra ser considerado como 0.
Desbordamiento a cero de la mantisa: cuando en el proceso de alineacin o
ajuste de la mantisa se pierden dgitos por la parte derecha de la misma, lo cual
implica algn tipo de redondeo.
Desbordamiento de la mantisa: cuando la suma de dos mantisas del mismo
signo produce un acarreo procedente del bit mas significativo.

SUMA Y RESTA EN FORMATO DE PUNTO FLOTANTE


Difieren de las de punto fijo en que no solo hay que considerar la magnitud de
los operandos, sino tambin el que se le da a los exponentes.
LOS EXPONENTES DEBEN SER IGUALES PARA PODER SUMAR O
RESTAR.
Se suman o restan las mantisas segn corresponda y se completa la operacin
normalizando el resultado.

68

ATENCION: Los procesos de ajuste de la parte fraccionaria y el redondeo del


resultado pueden llevar a una perdida de precisin.
Ej.:

(0,101 x 23) + (0,111 x 24)

Donde las mantisas se representan con tres dgitos representativos.


0,101 x 23 = 0,0101 x 24
(0,010 x 24) + ( 0,111 x 24) = 1,0001 x 24
= 0,100 x 25
Tenemos dos perdidas de precisin
0,0001 x 24 y 0,0001 x 25 = 0,0011 x 25
La ventaja del formato de punto flotante que contiene un bit de signo seguido
por un exponente de notacin excedida seguido por la magnitud de la mantisa
es que permite la realizacin de comparaciones entre dos nmeros de punto
flotante por mayor, menor o igual sin necesidad de desempaquetar los
nmeros.

69

PRODUCTO Y COCIENTE EN FORMATO DE PUNTO FLOTANTE


Se resuelve en forma similar a la de la suma y la resta en punto flotante,
excepto que tanto el signo como el exponente y la mantisa del resultado se
pueden calcular por separado.
Si los operandos tienen el mismo signo el resultado es (+).
Distintos signos producen resultados (-).
PRODUCTO
Ej. Considerese mantisa de 3 bits.
( + 0,101 x 22) x (- 0.110 x 2-3)
Como los signos difieren, tendr resultado negativo.
1. Resta de exponentes:
2. Multiplicacin de mantisas
3. Normalizando

+2+(-3)=-1
0.01111 (0.1111 x 2-1)
-0.111 x 2-2

70

COCIENTE
(+ 0.110 X 25) / (+ 0.100 X 24) con mantisa de 3 bits
Como tienen igual signo el resultado es +
1. Se restan los exponentes 5-4=1
2. Se dividen las mantisas. Si las tratamos como enteros no signados seria
110/100=1 con RESTO 10
3. Como no queremos un cociente y un resto, escalamos el dividendo dos
posiciones a la izquierda 11000/100=110.
4. El resultado se escala dos posiciones a la derecha para mantener el
factor de escala original (1.1) que luego de la normalizacin se convierte
en (+ 0.110 x 22).

71

ESTNDAR DEL IEEE PARA LA ARITMETICA BINARIA CON COMA


FLOTANTE
Se debern tener en cuenta no solo el redondeo sino los casos especficos de
INFINITO
NaN (Not a Number)
NUMEROS DESNORMALIZADOS
INFINITO
Las operaciones con infinito son tratadas como casos limites de la aritmetica,
ya que

- < (todo numero finito) > +


Cualquier nmero sumado o multiplicado por ser , y cualquier numero
dividido por el mismo, ser 0
NaN
Es una entidad simblica codificada en formato de coma flotante. Si el mismo
aparece como operando, significa que la operacin no es valida. Si no permiten
representar valores de variables no inicializadas o tratamientos aritmticos no
contemplados en el estndar.
NUMEROS DESNORMALIZADOS
Cuando el resultado del exponente de un numero es demasiado pequeo (un
exponente negativo con magnitud muy grande) el resultado se desnormaliza
desplazando a la derecha la parte fraccionaria e incrementando el exponente a
cada desplazamiento hasta que dicho exponente este en un rango
representable.
El exponente ser cero, y la mantisa no tiene bit implcito.

72

Resumen de representaciones
NUMERO EN PUNTO

e (EXPONENTE)

f (MANTISA)

FLOTANTE
Normalizados

0Exp. maximo

Cualquier combinacin
de 1s y 0s

Desnormalizados

00000.0

Cualquier combinacin
de 1s y 0s distinta de
00000..0

Cero

00000..0

000000.0

Infinito

11111.....1

000000.0

Not a Number

11111.1

Cualquier combinacin
de 1s y 0s distinta de
00000.0

73

ARITMETICA DE ALTO RENDIMIENTO


La velocidad con que se realizan las operaciones es el cuello de botella
en el rendimiento de una computadora
SUMA DE ALTO RENDIMIENTO
El proceso de sumar en si es relativamente rpido (el circuito posee una
lgica de solo dos niveles), pero la propagacin del arrastre demora un tiempo
largo en recorrer el circuito.
El tiempo de propagacin es proporcional a la cantidad de bits del
operando.
El aumento de la cantidad de dgitos significativos en una suma se
traduce en un mayor requerimiento de tiempo para realizar la suma.
Un mtodo para mejorar esta situacin se conoce como SUMADOR
CON ARRASTRE ANTICIPADO ( Carry lookahead aadder).
PRODUCTO DE ALTO RENDIMIENTO
ALGORITMO DE BOOTH
Trata a los nmeros positivos y negativos de la misma forma.
Se basa en que cuando en el multiplicador existen secuencias de ceros
o unos, no se requieren sumas sino solo desplazamientos.
Las sumas o las restas se llevan a cabo en los lmites de las secuencias
donde se detectan transiciones de 0 a 1 o de 1 a 0.
EL ALGORITMO DE BOOTH REALIZA UNA RESTA CUANDO SE
ENCUENTRA EL PRIMER 1 DEL BLOQUE (1-0) Y UNA SUMA
CUANDO LO ENCUENTRA EN EL FINAL DEL BLOQUE (0-1)
TIENE EN CUENTA LA POSICION DE LA RAFAGA DE UNOS, SUS
POSICIONES DE COMIENZO Y DE FINAL.

74

En la implementacin circuital se analiza el multiplicador de derecha a


izquierda.
La primera transicin que se detecta es un cambio de 0 a 1, lo que
requiere la resta del valor inicial (0) menos 21.
En la transicin siguiente, de 1 a 0, se suma 24, lo que da por resultado
+14.
(Se debe agregar un 0 agregado a la derecha del multiplicador con el objeto de
definir la situacin en el caso de que aparezca un 1 como digito menos
significativo del mismo.)
Si el multiplicador se codifica de acuerdo al algoritmo de BOOTH, el
proceso de multiplicacin puede llegar a requerir menos pasos.
Ejemplo:

El multiplicador (14)10 contiene tres unos consecutivos, lo que implica, si se


usara el procedimiento de multiplicar con sumas y restas la necesidad de tres
operaciones de suma.
El multiplicador codificado segn BOOTH se obtiene analizando el multiplicador
original de derecha a izquierda, colocando un -1 en la primera posicin que se
encuentre un 1, y un +1 en la posicin que aparezca el siguiente 0.
El multiplicador se convierte asi en 0 + 100 1 0.
Este multiplicador codificado solo contiene dos posiciones no nulas, lo
que significa que habr que realizar una unida suma y una nica resta, por lo
que se logra una reduccin en el tiempo para realizar el producto.
Otra forma de realizar el algoritmo de Booth para obtener el resultado del
producto de dos nmeros binarios con signo en notacin complemento a dos.
Supongamos el ejemplo de la multiplicacin 62=12

75

Como se puede ver, partiendo de los nmeros binarios de la


multiplicacin 62 (multiplicando y multiplicador) creamos tres nuevos nmeros
binarios del doble de tamao (16 en el ejemplo): A, S y P.
Partiendo del nmero P (producto) comenzamos a comparar los ltimos
2 bits de la derecha, siguiendo los casos base del recuadro:

Se realizar esta comparacin 8 veces en este ejemplo


(nmero de bits de los operandos) y al final de cada comparacin, realizamos
un desplazamiento de un bit hacia la derecha, manteniendo el ltimo bit de la
izquierda, y descartando el ltimo bit del lado contrario.
Paso a paso esta accin seria:

76

Finalmente obtenemos el nmero en binario resultante (12 en este


ejemplo), descartando el bit extra que hemos aadido al principio del
procedimiento y que se encuentra en el extremo a la derecha.

DIVISION DE ALTO RENDIMIENTO


Utiliza la misma metodologa de la divisin de nmeros enteros sin
signo.
En el caso de una divisin a/b, y para que parezcan enteros, la idea es
escalar a y b, realizar el proceso de divisin y luego volver a escalar el cociente
para que se corresponda con el resultado correcto de la divisin a por b.

77

Potrebbero piacerti anche