Sunteți pe pagina 1din 19

TCNICAS DIGITALES 1

REPRESENTACIN Y
OPERACIONES ARITMTICAS CON
NMEROS EN PUNTO FIJO

AUTORES:
ING. GUILLERMO A. FERNNDEZ
DR. ING. FERNANDO BOTTERN

- DEPARTAMENTO DE INGENIERA ELECTRNICA -

UNIVERSIDAD NACIONAL DE MISIONES FACULTAD DE INGENIERA


OBER MISIONES ARGENTINA
INTRODUCCIN
Comercialmente existen numerosos dispositivos digitales, tales como microprocesadores (uP),
microcontroladores (uC), procesadores y controladores digitales de seal (DSP y DSC), etc., que
son capaces de efectuar operaciones aritmticas complejas. Muchas de estas operaciones requieren
de la utilizacin de nmeros reales. Debido a que los dispositivos mencionados slo operan con
nmeros binarios, y en este sistema no pueden representarse todos los nmeros reales, los resultados
obtenidos slo son aproximaciones. Para las operaciones aritmticas, los nmeros reales pueden
expresarse de forma aproximada a travs de la representacin en los formatos de Punto Flotante y
Punto Fijo. Los dispositivos ms complejos y costosos poseen una arquitectura interna (circuito
interno) preparada para trabajar con nmeros en formato de Punto Flotante, formato que se
estudiar mas adelante. Los dispositivos ms sencillos y asequibles comercialmente slo estn
preparados para trabajar con nmeros enteros, a travs de los cuales pueden expresarse nmeros con
decimales en un formato denominado Punto Fijo. La representacin de Punto Fijo es llamada
as debido a que los nmeros poseen una cantidad fija de cifras para la parte decimal. Los mismos
pueden comprenderse como nmeros enteros que estn afectados por determinado factor de escala,
donde la coma decimal (o punto decimal, en ingls) siempre permanece en un mismo lugar (para
nmeros afectados por un mismo factor de escala). A continuacin se indica un ejemplo de lo
mencionado.

Ejemplo 1:Ejemplosdenmerosdecimalesconpuntofijo.

1234 -12345
12 ,34 ; - 123, 45
100 100

Como podemos observar, el factor de escala es 100, por lo tanto el nmero obtenido en cada caso
siempre posee dos cifras decimales. Es decir, en los dos casos la coma o punto decimal se encuentra
fijo. Si en ambos casos del ejemplo anterior, el factor de escala fuera 1, el resultado sera un
nmero con el punto fijo en el extremo derecho (parte decimal nula), es decir un nmero entero.

Los nmeros enteros, pueden representarse de diferentes formas, tales como: Signo-Magnitud,
Complemento a 1 y Complemento a 2, siendo esta ltima representacin de especial importancia, ya
que es la utilizada en las operaciones aritmticas efectuadas por los dispositivos mencionados en un
principio.

A continuacin se estudiar la representacin binaria de distintos conjuntos de nmeros, la


conversin de los mismos al sistema decimal y viceversa, como as tambin las operaciones
aritmticas bsicas. Algunas de las operaciones aritmticas son efectuadas de forma tal que
permitan comprender el funcionamiento interno de los dispositivos digitales. Como los dispositivos
digitales efectan operaciones con nmeros representados por palabras que poseen ancho o tamao
acotado de N bits, en todos los casos sern definidos por una cantidad acotada de bits, produciendo
en las operaciones aritmticas resultados que estarn dentro de cierto rango.

Por ltimo se estudiar la representacin de nmeros mediante el formato de Punto Fijo,


resaltando el Formato Q el cual puede utilizarse para operaciones aritmticas en dispositivos
digitales de bajo costo.

TCNICAS DIGITALES 1 REPRESENTACIN Y OPERACIONES ARITMTICAS CON NMEROS EN PUNTO FIJO - 2 / 19 -


REPRESENTACIN BINARIA DE LOS NMEROS
REPRESENTACIN DE NMEROS NATURALES

Los nmeros naturales son aquellos que permiten contar elementos, es decir son 0, 1, 2, 3,..
Como podemos apreciar, en el conjunto de nmeros naturales no hay nmeros con signo. En el
sistema binario, este tipo de nmeros son representados por combinaciones de ceros y unos.
Estas combinaciones son expresadas a travs de palabras que poseen un nmero definido dgitos o
bits. Los nmeros naturales estn representados en binario puro, donde cada bit posee un peso o
ponderacin, como se muestra a continuacin:

El peso de cada bit es creciente de derecha a izquierda (como en el sistema decimal, de unidad hacia
decena, centena, etc.). Si el nmero binario representado por una palabra de N bits puede
convertirse al sistema decimal mediante la siguiente general:

x10 bN 1 2N 1 bN 2 2N 2 ..... b1 21 b0 [1]

Donde bN1 es el bit ms significativo (MSB) o de ms peso yb0 el menos significativo (LSB) o de
menos peso. Una palabra con N bits, permite representar 2N nmeros binarios naturales diferentes,
con un rango definido por:

0 x 2N 1 0 ; 2 N 1 [2]

Ejemplo 2: Convertirlossiguientesnmerosbinariosnaturalesalsistemadecimal,encadacaso
determinarelrangorepresentableconlacantidaddebitsutilizado.A2=110101;B2=11101101.

Utilizandolaexpresin[1],cadanmeropuedeconvertirsealsistemadecimal:

A2 110101 A10 1 2 5 1 2 4 0 23 1 2 2 0 2 1 1 2 0
A10 32 16 4 1 A10 53

B2 11101101 B10 1 2 7 1 2 6 1 2 5 0 2 4 1 2 3 1 2 2 0 2 1 1 20
B10 128 64 32 8 4 1 B10 237

Atravsdelaexpresin[2],puedeobtenerseelrangoderepresentacinencadacaso:

ParaA2 110101 N 6 0 ; 26 1 0 ; 63

ParaB2 11101101 N 8 0 ; 28 1 0 ; 255

TCNICAS DIGITALES 1 REPRESENTACIN Y OPERACIONES ARITMTICAS CON NMEROS EN PUNTO FIJO - 3 / 19 -


Para efectuar la conversin inversa de un nmero natural, es decir del sistema decimal al sistema
binario, debe recurrirse a la utilizacin divisiones sucesivas por 2. Realizando dichas divisiones
hasta obtenerse el menor resultado entero posible. Para comprender el procedimiento, veamos el
siguiente ejemplo.

Ejemplo 3: Convertirlossiguientesnmerosnaturalesalsistemabinario,utilizandoelmtodode
ladivisinsucesivapor2.A10=22;B10=13.

22 13
11; resto 0 6; resto1
2 2
11 6
5; resto1 3; resto 0
2 2

5 3
2 ; resto1 1 ; resto1
2 2
2
1 ; resto 0
2

Paraobtenerelequivalentebinariodecadanmero,debetomarsecomoMSBelresultadode
laltimadivisinylosrestosdelasdivisionesanteriores.Porlotantoqueda:

A10 22 A2 1 0110 ; B10 13 B2 1101

Operaciones Aritmticas

Para efectuar operaciones aritmticas, hay que tener en cuenta que las mismas deben arrojar
resultados que se encuentren dentro del conjunto de nmeros naturales. Por ejemplo, no podr
efectuarse una resta donde el minuendo es menor al sustraendo (ya que dara un nmero negativo,
no representable en los nmeros naturales), tampoco se podra realizar una divisin cuyo resultado
arroje decimales, el resultado slo se puede expresar mediante nmeros naturales.

Los dispositivos digitales capaces de realizar operaciones aritmticas, efectan las mismas con
nmeros representados por palabras, las cuales poseen una cantidad acotada de bits. Por lo tanto, los
nmeros utilizados en las operaciones debern arrojar resultados representables por estas palabras.
Es decir, si el dispositivo opera con palabras de 4 bits, slo podr representar correctamente
resultados que van de 0 a 15 (esto es relativo, ya que en algunos casos pueden utilizarse dos o mas
palabras para representar los resultados). A continuacin veremos las operaciones elementales con
nmeros naturales, a partir de las cuales obtendremos conceptos importantes que son aplicables a
otros conjuntos de nmeros.

Suma: La suma de dos nmeros binarios naturales se efecta bit a bit, desde el bit menos
significativo hacia el ms significativo, generndose el bit de acarreo siempre que es necesario.
Para efectuar la suma debe tenerse en cuenta que: 0+0=0 ; 0+1=1 ; 1+0=1 ; 1+1=10 (2 en binario) y
1+1+1=11 (3 en binario).

Ejemplo 4: SumarlosnmerosnaturalesA+B,enlossiguientescasos:A)A2=0011yB2=1100;B)
A2=1101yB2=1110.

TCNICAS DIGITALES 1 REPRESENTACIN Y OPERACIONES ARITMTICAS CON NMEROS EN PUNTO FIJO - 4 / 19 -


A) B)
1 Acarreo 1 Acarreo
0011(3) entrebits 1101(13) entrebits
+ +
1010(10) 1110(14)
1101(13) 11011(27)
BITdeAcarreo
(CARRYBIT)

En la primera suma, cuando se efecta 1+1 (en los bits menos significativos), el resultado es 10. Por
lo tanto se anota 0 en el resultado y el 1 es acarreado a la siguiente columna de bits. En la
segunda suma puede apreciarse que el resultado no puede representarse con una palabra de 4 bits, lo
cual queda indicado por el bit de acarreo (CARRY BIT). Este bit est presente en dispositivos
digitales que realizan operaciones aritmticas, sirve para indicar que el resultado ha sobrepasado el
rango de representacin (en ste caso de 0 a 15).

Resta: Esta operacin se efecta restando bit a bit los nmeros comenzando desde el bit menos
significativo hacia el ms significativo. Para efectuar la resta debe tenerse en cuenta que: 00=0 ; 1
0=1 ; 11=0 y 01=1 ya que debe pedirse prestado 1 al siguiente bit de mas peso para efectuar
101=1. Para comprende esto, veamos el siguiente ejemplo.

Ejemplo 5: RealizarlarestadenmerosnaturalesAB,siendoA2=11000yB2=00011.

Como puede verse en el ejemplo, cuando no puede efectuarse la resta se pide prestado al bit ms
significativo siguiente. Debe recordarse que la resta de nmeros naturales, puede realizarse siempre
que el minuendo es mayor o igual al sustraendo.

Multiplicacin: Esta operacin puede efectuarse como en el sistema decimal o repitiendo el


multiplicando desplazado hacia la izquierda, conforme a la posicin que ocupen los unos del
multiplicador. Luego deben sumarse todos los valores desplazados. A este mtodo se denomina de
suma sucesiva. Veamos el siguiente ejemplo.

Ejemplo 6: Realizarlassiguientesmultiplicacionesentrenmerosnaturales:
A)A2=0011B2=0101;B)A2=1110B2=0011;C)A2=0011B2=1000.

TCNICAS DIGITALES 1 REPRESENTACIN Y OPERACIONES ARITMTICAS CON NMEROS EN PUNTO FIJO - 5 / 19 -


Si el dispositivo digital que efecta las multiplicaciones del ejemplo, opera con palabras de 4 bits,
no podra representar el resultado de la segunda multiplicacin, ya que el mismo excede el rango de
los nmeros con los 4 bits (de 0 a 15). En el tercer caso del ejemplo, puede observarse al resultado
como el multiplicando desplazado hacia la izquierda en tres posiciones. El desplazamiento de un
nmero hacia la izquierda se produce cada vez que es efectuada la multiplicacin del mismo por la
unidad seguida de ceros (como en el sistema decimal). En el sistema binario la unidad seguida de
ceros es representada por el equivalente binario a 2n, siendo n el nmero de ceros (n=1;2;3;).

Divisin: Esta operacin puede realizarse restando sucesivamente el divisor del dividendo. Las
restas son realizadas hasta obtener 0 o no poder efectuar ms la operacin. Por cada resta
realizada se incrementa en uno el cociente. En el siguiente ejemplo es indicado el mtodo. Debe
recordarse que en el conjunto de nmeros naturales no podrn resolverse de forma exacta aquellas
divisiones donde el dividendo no es mltiplo del divisor.

Ejemplo 7: Realizarlassiguientesdivisionesentrenmerosnaturales:
A)A2=1001B2=0010;B)A2=11000B2=00100.

Como puede apreciarse en el ejemplo anterior, para el primer caso no puede obtenerse el resultado
exacto ya que el dividendo no es mltiplo del divisor. En el otro caso puede observarse que al
efectuar la divisin por la unidad seguida de ceros, el resultado corresponde al dividendo
desplazado hacia la derecha tantos bits como ceros posee el divisor. Ms adelante se estudiar mejor
el desplazamiento o corrimiento de un nmero.

REPRESENTACIN DE NMEROS ENTEROS

El conjunto de los nmeros enteros est conformado por los nmeros naturales y sus opuestos
(incluyendo el 0), es decir son nmeros con signo (;-2;-1;0;+1;+2;). Para representarlos en el
sistema binario, el bit mas significativos de la palabra es utilizado como bit de signo. De esta forma
la representacin de los nmeros enteros en el sistema binario, mediante palabras de N bits, queda:

TCNICAS DIGITALES 1 REPRESENTACIN Y OPERACIONES ARITMTICAS CON NMEROS EN PUNTO FIJO - 6 / 19 -


La forma indicada posee dos variantes para la representacin de los nmeros enteros: Signo-
Magnitud y Complemento a 2, siendo esta ltima la utilizada por los dispositivos digitales que
poseen capacidad para efectuar operaciones aritmticas.

En la representacin binaria de Signo-Magnitud, el bit de signo permite representar a nmeros


positivos y negativos de acuerdo a lo siguiente:

S = 0; nmero entero positivo.


S = 1; nmero entero negativo.

La magnitud (o valor absoluto) del nmero es representada directamente en binario puro.

Ejemplo 8: En signo-magnitud, a quenteros correspondenlos siguientes nmeros: A2=10111y


B2=01100.

ParaA2:10111=7 ParaB2:01100=+12

Otra forma de representar a los nmeros binarios enteros es en complemento a 2. En esta


representacin, los nmeros positivos son expresados como si estuvieran en Signo-Magnitud,
mientras que los nmeros negativos en complemento a 2. El complemento a 2 de un nmero binario
se obtiene invirtiendo bit a bit el nmero (a esto se denomina complemento a 1) y luego sumndole
1. Cabe aclarar que en la representacin de complemento a 2 el MSB siempre es el bit de signo y
su representacin es igual que en Signo-Magnitud. El siguiente ejemplo muestra como obtener el
complemento a 2.

Ejemplo 9: Realizarelcomplementoa2deA2=10110yB2=01100.

A2 10110 B2 01100
1 1 1
01001 Complem. a 1 10011 Complem. a 1
+ +
1 1
01010 Complem. a 2 10100 Complem. a 2

Cuando un nmero binario entero es negativo y se encuentra en complemento a 2, para obtener la


magnitud del mismo basta con volver a complementarlo a 2. En el ejemplo anterior, el nmero
negativo A2=10110 se trata de 10, como lo muestra su complemento a 2. Por otra parte si se desea
saber el opuesto de un nmero, basta con expresarlo de forma positiva y luego complementarlo a 2.
El segundo caso del ejemplo anterior indica lo mencionado, se tiene B10= +12 (01100) y su opuesto
ser B2= 10100 (12).

Para obtener algunas conclusiones acerca de la representacin en signo-magnitud y en complemento


a 2, veamos los nmeros que pueden expresarse a travs de una palabra de 4 bits.

TCNICAS DIGITALES 1 REPRESENTACIN Y OPERACIONES ARITMTICAS CON NMEROS EN PUNTO FIJO - 7 / 19 -


Combinaciones N Signo- N Enteros
con 4 bits Naturales Magnitud en CA2
0000 0 +0 0
0001 1 +1 +1
0010 2 +2 +2
0011 3 +3 +3
0100 4 +4 +4
0101 5 +5 +5
0110 6 +6 +6
0111 7 +7 +7
1000 8 0 8
1001 9 1 7
1010 10 2 6
1011 11 3 5
1100 12 4 4
1101 13 5 3
1110 14 6 2
1111 15 7 1

Como puede apreciarse en la tabla anterior, en signo-magnitud, el nmero 0 posee dos


representaciones. Esto no es deseable, ya que para efectuar operaciones aritmticas se pretende que
cada combinacin binaria corresponda a un nico nmero. Tambin puede apreciarse que la
representacin de nmeros con signo, depende de la interpretacin que se da a cada combinacin
binaria, las combinaciones no son modificadas segn el complemento que se utilice.

El complemento a 2, adems de servir para la expresar nmeros con signo, permite efectuar la resta
de dos nmeros como si fuera una suma. En los dispositivos digitales, esto permite aprovechar para
realizar restas, los mismos circuitos que son utilizados para efectuar sumas. Por tal motivo, la
representacin en complemento a 2 es la utilizada en las operaciones aritmticas de dispositivos
digitales tales como: microprocesadores, microcontroladores, etc. Luego se explicarn las
operaciones aritmticas utilizando nmeros representados de sta forma.

Para convertir al sistema decimal, un nmero binario entero representado en complemento a 2,


puede utilizarse la siguiente expresin:

x10 bN 1 2N 1 bN 2 2N 2 ..... b1 21 b0 [3]

Donde los coeficientes bi (con i=0;1;2; ;N1) corresponden a los bits del nmero binario,
siendo bN1 el bit mas significativo (MSB) yb0 el menos significativo (LSB).

Ejemplo 10: Determinar el equivalente decimal de los siguientes nmeros binarios enteros,
representadosporunapalabrade8bits:A2=10100101yB2=01101101.

Como los nmeros poseen ocho bits (N=8), la expresin general [3] queda de la siguiente
forma:

x10 b7 27 b6 26 ..... b1 21 b0

TCNICAS DIGITALES 1 REPRESENTACIN Y OPERACIONES ARITMTICAS CON NMEROS EN PUNTO FIJO - 8 / 19 -


Aplicandolaanterioraambosnmeros,puederealizarselaconversindeseada.

A2 10100101 A10 1 27 0 26 1 25 0 24 0 23 1 22 0 21 1
A10 128 32 4 1 A10 91

B2 01101101 B10 0 27 1 26 1 25 0 24 1 23 1 22 0 21 1
B10 64 32 8 4 1 B10 109

Mediante una palabra de N bits podrn representarse 2N nmeros binarios enteros que estn en un
rango representado por:

2 N 1 x 2 N 1 1 2 N 1 ; 2 N 1 1 [4]

Ejemplo 11: Culeselrangoparaunapalabrade16bitsquepuederepresentara:A)Nmeros


Enteros;B)NmerosNaturales(incluidoel0)?.

A) Los nmeros enteros, son nmeros con signo, por lo tanto son representados en
complementoa2.Entonces,apartirdelaexpresin[4]puedeobtenerseelrango.

2 N 1 ; 2 N 1 1 216 1 ; 216 1 1 215 ; 215 1 32768 ; 32767

B) Los nmeros naturales no poseen nmeros negativos, es decir son todos positivos, por lo
tantoelrangoser:

0 ; 2 N 1 0 ; 216 1 0 ; 65535

Antes de tratar las operaciones aritmticas veamos en el siguiente ejemplo una particularidad del bit
de signo en la representacin en complemento a 2.

Ejemplo 12: DeterminarlarepresentacindelosnmerosA10=+5yB10=6,medianteunapalabra


de8bits.

En el ejemplo puede apreciarse que en ambos casos el bit de signo es repetido hasta completar los 8
bits, a esto se denomina extensin del bit de signo. Todo nmero debe ser representado de esta
forma para poder realizar correctamente las operaciones aritmticas. Es decir, los nmeros
expresados con N bits, deben poseer el bit de signo extendido para poder completar los N bits (se
los debe completar con ceros si es positivo, o con unos si es negativo).

TCNICAS DIGITALES 1 REPRESENTACIN Y OPERACIONES ARITMTICAS CON NMEROS EN PUNTO FIJO - 9 / 19 -


Operaciones Aritmticas

A continuacin veremos las operaciones aritmticas elementales, en las mismas son considerados
nmeros enteros representados por palabras de N bits, por lo cual los resultados debern
permanecer dentro del rango establecido por la expresin [4].

Suma y Resta: La suma de dos nmeros binarios enteros se efecta de igual forma que en el caso de
los nmeros binarios naturales (bit a bit). La resta se efecta sumando al minuendo el complemento
a 2 de sustraendo (es decir el opuesto del sustraendo). Tanto como para la suma y la resta, los
nmeros deben sumarse incluyendo el bit de signo. En el siguiente ejemplo es explicado el
procedimiento para ambas operaciones.

Ejemplo 13: Suponiendo que un dispositivo digital opera con palabras de 5 bits, realizar las
siguientesoperacionesconA10=10,B10=3,C10=12:A)A+B;B)AB;C)BC;D)AC;E)A+C.

A2 =01010 A2 =10110 A+B AB=A+(B)


B2 =00011 B2 =11101 01010 =10 01010 =10
+ +
C2 =01100 C2 =10100 00011 =3 11101 = 3
01101 =13 100111 =7
Acarreo que
se ignora

BC=B+(C) AC=(B)+(C) A+C


00011 =3 10110 = 10 01010 =10
+ + +
10100 = 12 10100 = 12 01100 =12
10111 =9 101010 10110

Acarreo 10
10
(Desbordamiento)

A partir del ejemplo anterior y considerando que el resultado debe ser representado en N bits,
podemos concluir:

- Si se suman dos nmeros de igual signo, puede producirse un acarreo que representa un resultado
fuera de rango (como en AC). Si no se produce el acarreo mencionado, la suma puede arrojar un
resultado con un signo que no corresponde (como en A+C). En ambos casos estamos ante un
resultado errneo.

- Si se suman dos nmeros con distintos signos, puede producirse un acarreo, el cual se descarta
(como en AB) obtenindose as un resultado correcto. Esto es debido a que la operacin en
realidad es una resta y nunca podra dar fuera del rango de representacin con los N bits.

Multiplicacin y divisin: La multiplicacin puede efectuarse directamente con los nmeros en


complemento a 2, recordando que el resultado corresponde a los N bits menos significativos
(siempre que multiplicando y multiplicador posean un ancho de N bits). Cabe mencionar que el
resultado ya estar con el signo correcto, es decir si es negativo estar en complemento a 2. Para la
divisin conviene expresar dividendo y divisor como enteros positivos, efectuar la operacin como
si fueran naturales y luego aplicar la regla de los signos para expresar el resultado como positivo o
como negativo. La regla de los signos dice que si dividendo y divisor poseen distintos signos, el

TCNICAS DIGITALES 1 REPRESENTACIN Y OPERACIONES ARITMTICAS CON NMEROS EN PUNTO FIJO - 10 / 19 -


resultado ser negativo, en caso contrario ser positivo. Hay que recordar que por tratarse de
nmeros enteros, la divisin exacta slo podr efectuarse cuando el dividendo es mltiplo del
divisor y tambin mayor o igual que ste ltimo.

Ejemplo 14: Realizarlassiguientesmultiplicaciones:A)(3)(5).B)(3)(4).

Segnlaexpresin[4],paraefectuarestasoperacionesessuficientelautilizacindenmeros
conN=5bits.Porlotanto:

11101 (3) 11101 (3)
(5)

00101 11100 (4)
+ 11101 + 00000
00000 00000
+ 011101 + 000000
11101 11101
10010001 (15) 1110100
+ 11101
101011100
+ 11101
1100101100 (12)

Ejemplo 15: Realizarlasiguientedivisinutilizandoelmtododelasrestassucesivas:(15)(5).

Segn la expresin [4], para efectuar estas operaciones deben utilizarse nmeros con N=5
bits.Pararealizarladivisin,losnmerosnegativosdebenexpresarsecomopositivos.Porlo
tanto:


Aplicandolaregladelossignosparaladivisin,elresultadoesnegativo.Porlotantodebe
expresarseencomplementoa2:11101

REPRESENTACIN DE NMEROS FRACCIONARIOS O DECIMALES

Los nmeros fraccionarios expresados de forma decimal (de ahora en ms nmeros fraccionarios,
para no confundir decimal con sistema decimal), poseen una parte entera y una parte decimal,
ambas separadas por la coma (o el punto, en ingls). Los nmeros fraccionarios, en el sistema
binario pueden representarse mediante una palabra de N bits, de los cuales K bits son utilizados
para la parte decimal. De esta forma el nmero binario fraccionario quedar de la siguiente forma:

TCNICAS DIGITALES 1 REPRESENTACIN Y OPERACIONES ARITMTICAS CON NMEROS EN PUNTO FIJO - 11 / 19 -


Como es un nmero con signo, el mismo se encuentra representado en el sistema de complemento a
2. La parte entera utiliza el bit ms significativo para el signo del nmero, con la misma convencin
utilizada para los nmeros enteros. A la representacin anterior se denomina de Punto Fijo.

Para obtener el equivalente decimal del nmero binario fraccionario, se recurre a la siguiente
expresin general:

x10 b N 1 2
N 1
b N 2 2
N 2
.... b1 21 b0
[5]
b1 21 b 2 2 2 .... b K 2 K

En la expresin anterior, los coeficientes bi (con (N1)K iK ) corresponden a los bits del
nmero binario fraccionario.

Debido a que un nmero entero podra considerarse como un nmero fraccionario con el punto fijo
en su extremo derecho, la expresin [5] se extiende tambin a los mismos, considerando los
coeficientes b-i=0 y K=0 (parte decimal nula).

Ejemplo 16: Determinar el equivalente decimal para los siguientes nmeros binarios
fraccionarios:A2=011011,11yB2=110,10111.

ParaelnmeroA,queespositivoyaquesuMSB=0,tenemosN=8yK=2,porlotantoa
partirdelaexpresingeneral[5]quedar:

x10 b5 2 b4 2 b3 2 b2 2 b1 2 1 b0 b1 2 1 b 2 2 2
5 4 3 2

A2 011011,11 A10 0 2 5 1 24 1 2 3 0 2 2 1 2 1 1 1 2 1 1 2 2
A10 16 8 2 1 1 2 1 4 A10 27 ,75

ParaelnmeroB,queesnegativo(elMSB=1),tenemosN=8yK=5,porlotantoapartir
delaexpresingeneral[5]quedar:

x10 b2 2 b1 2 b0 b1 2 b 2 2 2 b 3 2 3 b 4 2 4 b 5 2 5
2 1 1

B2 110,10111 B10 1 2 2 1 2 1 0 1 2 1 0 2 2 1 2 3 1 2 4 1 2 5
B10 4 2 1 2 1 8 1 16 1 32 B10 1, 28125

Con el fin de comprender algunas caractersticas ms sobre la representacin de los nmeros


binarios fraccionarios, veamos que sucede considerando distintas cantidades de bits para la parte
decimal del nmero, con el equivalente decimal de las 16 combinaciones obtenidas a partir de una
palabra de 4 bits.

TCNICAS DIGITALES 1 REPRESENTACIN Y OPERACIONES ARITMTICAS CON NMEROS EN PUNTO FIJO - 12 / 19 -


Combinaciones Con K=0 Con K=1 Con K=2 Con K=3
con 4 bits (Enteros) (xxx,x) (xx,xx) (x,xxx)
0000 0 0 0 0
0001 1 0,5 0,25 0,125
0010 2 1,0 0,50 0,250
0011 3 1,5 0,75 0,375
0100 4 2,0 1,00 0,500
0101 5 2,5 1,25 0,625
0110 6 3,0 1,50 0,750
0111 7 3,5 1,75 0,875
1000 8 4,0 2,00 1,000
1001 7 3,5 1,75 0,875
1010 6 3,0 1,50 0,750
1011 5 2,5 1,25 0,625
1100 4 2,0 1,00 0,500
1101 3 1,5 0,75 0,375
1110 2 1,0 0,50 0,250
1111 1 0,5 0,25 0,125

De la tabla anterior puede concluirse lo siguiente:

- Los nmeros fraccionarios aparecen en saltos determinados por 2K. Estos saltos
establecen la resolucin de la representacin, es decir el valor ms pequeo capaz de
expresarse con la cantidad de bits utilizados para la parte decimal del nmero.

Re solucin 2 K [6]

- A mayor cantidad de bits para la parte decimal, los saltos son mas chicos, pudindose as
representar nmeros mas pequeos. Esto quiere decir que habr mejor resolucin en la
representacin del nmero fraccionario (hay una mejor aproximacin a los nmeros reales).

- Los nmeros fraccionarios obtenidos en cada columna pueden considerarse que provienen
de realizar el cociente entre un nmero entero y 2K. O el producto entre el nmero entero y
2K. A partir de lo mencionado y considerando la expresin [4], el rango para un nmero
fraccionario de N bits, con K bits para la parte decimal, ser:

2 N 1 .2 K x 2 N 1 1 . 2 K 2 N 1 .2 K ; 2 N 1 1 .2 K
[7]
2 N 1 K ; 2 N 1 K 2 K

- La cantidad de bits utilizada para la parte entera, influye notablemente en el rango de la


representacin. Con ms bits para la parte entera, el alcance de la representacin es mayor
ya que pueden expresarse nmeros ms positivos y ms negativos.

- Para una palabra con una cantidad definida de bits, la mejora de la resolucin va en
detrimento del rango, y viceversa.

TCNICAS DIGITALES 1 REPRESENTACIN Y OPERACIONES ARITMTICAS CON NMEROS EN PUNTO FIJO - 13 / 19 -


Ejemplo 17:Siunnmerobinariofraccionarioesrepresentadoporunapalabrade8bitsyparala
partedecimalseutilizan4bits,hallar:A)Elmenornmeroquepuedeexpresarse.B)Elrangode
nmerosquepodrserrepresentado.C)Lacantidaddenmerosquepodrrepresentarse.

A) ComoK=4,atravsdelaexpresin[6]puedeobtenerseelnmeromaspequeoquepodr
representarse:

1 1
Re solucin 2 K 4 0 ,0625
2 16

B) SiendoN=8yK=4,apartirdelaexpresin[7] elrangoser:

2 .2 ; 2 1 .2 2 .2 4 ; 28 1 1 .2 4 8 ; 7 ,9375
N 1 K N 1 K 8 1


C) ComoN=8,podrnrepresentarse28=256nmerosdiferentes.

REPRESENTACIN BINARIA EN FORMATO Q


DEFINICIN DEL FORMATO

Ya hemos dicho que los dispositivos digitales como ser: microprocesadores, DSPs, etc., para sus
operaciones aritmticas utilizan palabras con una cantidad de bits acotada. Esto quiere decir que si
el dispositivo opera con palabras de N bits, los nmeros slo podrn representarse a travs de N bits
en un rango definido por esta cantidad.

El Formato Q, o tambin denominado Formato IQ, consiste en tomar a las palabras de N bits y
ubicar un punto decimal ficticio con el fin de representar nmeros que posean una parte entera y
parte decimal, es decir nmeros fraccionarios. Para denotar a los nmeros en este formato, se
recurre a lo siguiente:

Un nmero en formato QM.K, est representado por una palabra de N bits (N=M+K), donde M bits
son utilizados para la parte entera y K bits para la parte decimal. En esta representacin, al igual que
lo explicado en prrafos anteriores en los nmeros fraccionarios, la parte entera est representada en
complemento a 2, siendo el MSB utilizado para el signo del nmero (positivo S=0, negativo S=1).
Una variante a la denotacin indicada anteriormente es QK, pero en esta forma abreviada debe
aclararse de antemano con que longitud de palabra se est trabajando.

Para efectuar la conversin de un nmero binario en formato Q, al sistema decimal se utiliza la


expresin general [5]. En cuanto a la resolucin y el rango de los nmeros en este formato, se
adoptan los mismos criterios observados anteriormente (expresiones [6] y [7]).

TCNICAS DIGITALES 1 REPRESENTACIN Y OPERACIONES ARITMTICAS CON NMEROS EN PUNTO FIJO - 14 / 19 -


Ejemplo 18: Sea un dispositivo digital que opera con palabras de dato de 8 bits, determinar la
cantidaddebitsutilizadosparalaparterealylapartedecimal,comoastambinlaresolucinyel
rangodelarepresentacindenmerosenlosformatos:A)Q2.6;B)Q3.5;C)Q7.

A) EnelformatoQ2.6,laparteenteraestarrepresentadaporM=2bitsylapartedecimalpor
K=6bits.Laresolucinyelrangodelarepresentacinenesteformatoseobtienenatravs
delasexpresiones[6]y[7]respectivamente.

Re solucin 2 K 1 / 26 0 , 015625

Rango 28 1 .2 6 ; 281 1 .26 2 ; 1,984375

B) EnelformatoQ3.5tenemosM=3bitsyK=5bits.Laresolucinyelrangosern:

Re solucin 2 K 1 / 25 0,03125
Rango 281 .25 ; 28 1 1 .2 5 4 ; 3,96875

C) EldispositivodigitaloperaconpalabrasdeN=8bits,porlotantoenelformatoQ7tenemos
M=1bityK=7bits.Laresolucinyelrangosern:

Re solucin 2 K 1 / 27 0, 0078125

Rango 28 1 .2 7 ; 281 1 .2 7 1 ; 0,9921875

En ejemplos anteriores, hemos visto como convertir un nmero binario fraccionario al sistema
decimal mediante la utilizacin de la expresin general [5], a continuacin veremos el paso inverso,
es decir como convertir un nmero fraccionario del sistema decimal, a su equivalente binario. Para
esto haremos uso de nmeros representados en formato Q, ya que en la prctica siempre ser
necesario trabajar con nmeros que estn representados por una cantidad finita de bits.

Antes de explicar el mtodo para efectuar la conversin mencionada, veamos el siguiente ejemplo
para apreciar una particularidad.

Ejemplo 19: Sea el nmero X2=111.00111, para el mismo: A) Convertirlo en un nmero entero.
B) Hallar la relacin que hay entre los equivalentes del sistema decimal, para X2 como
fraccionarioycomoentero.

A) Para convertir a X2 en un nmero entero,se debe correr el punto a su extremo derecho.


Como en el sistema decimal, la coma o punto decimal se corre hacia la derecha al
multiplicar a un nmero por la unidad seguida de ceros 10n, en el sistema binario es lo
mismo. Como habamos visto, en el sistema binario la unidad seguida de ceros est
representada por 2n. Entonces, para convertir a X en entero, se lo debe multiplicar por
2K=25.Deestaformaseobtiene:
X '2 111.00111 25 11100111
B) Utilizandolaexpresin[5]puede hallarseel equivalente enel sistema decimalparaX2y
X2ylarelacinsolicitada.

TCNICAS DIGITALES 1 REPRESENTACIN Y OPERACIONES ARITMTICAS CON NMEROS EN PUNTO FIJO - 15 / 19 -


X 2 111.00111 X 10 0, 78125
X '2 11100111 X '10 25
X '10 25
32 25 X '10 25. 0, 78125
X 10 0, 78125

Como puede apreciarse en el ejemplo, para determinar a que nmero del sistema decimal
corresponde un binario fraccionario convertido en entero, basta con multiplicar por 2K a su
equivalente en el sistema decimal. Es decir:

X '10 2 K . X 10 [8]

Siendo K la cantidad de bits del equivalente binario de X10.

El ejemplo anterior nos permitir mostrar el mtodo para convertir un nmero fraccionario del
sistema decimal al sistema binario. El mtodo que se explicar a continuacin es general, puede
aplicarse tanto a nmeros positivos como negativos y consiste en:

P1 Primeramente, obtener la cantidad de bits K, que corresponde a la cantidad de bits decimales


con que se trabajar. Luego aplicar la expresin [8], para obtener X10. Esto debe efectuarse, ya que
si el nmero fraccionario es negativo, su parte decimal no puede pasarse directamente al
complemento a 2. Si en el producto se obtiene un nmero con parte decimal, esta debe descartarse
ya que slo interesa la parte entera del mismo (X10 es un entero que proviene del nmero binario
entero X2).

P2 Luego, el nmero entero obtenido debe convertirse a su equivalente binario. Hay que tener en
cuenta que si el nmero es negativo, deber complementarse a 2.

P3 Por ltimo debe colocarse el punto teniendo en cuenta el valor de K.

Para comprender mejor el mtodo, a continuacin se muestra un ejemplo.

Ejemplo 20:ConvertiralsistemabinariolosnmerosA10=2,32yB10=4,34.Utilizarparala
representacin binaria palabras de 8 bits y adoptar un formato Q tal que permita la mejor
aproximacinposible(esdecirconlamejorresolucin).

Para obtener lamejor resolucin en las representaciones, debe utilizarse la mayor cantidad
posible de bits para la parte decimal del nmero binario (es decir, el mayor K posible).
Teniendoencuentalaexpresin[5],paraA10 larepresentacindeberealizarseenformatoQ5
yparaB10enformatoQ4.Acontinuacin,paraefectuarlaconversinaplicaremoslospasos
explicadosanteriormente.

ParaA10=2,32tenemos:

P1 SetrabajaconK=5;entonces:A10=2,3225=74,24.Descartamoslapartedecimal,
entoncesA10=74.
P2 ConvertimoselenteroasuequivalentebinariodeN=8bits,A2=01001010.
P3 ColocamoselpuntoocupandoK=5bitsparalapartedecimal,entonces:

A10=2,32 A2=010.01010


TCNICAS DIGITALES 1 REPRESENTACIN Y OPERACIONES ARITMTICAS CON NMEROS EN PUNTO FIJO - 16 / 19 -
ParaB10=4,34tenemos:

P1 B10=4,3424=69,44.Descartamoslapartedecimal,entoncesB10=69.
P2 ConvertimoselenteroasuequivalentebinariodeN=8bits(encomplementoa2,yaque
esnegativo),B2=10111011.
P3 ColocamoselpuntoocupandoK=4bitsparalapartedecimal,entonces:

B10=4,34 B2=1011.1011

Si cada resultado obtenido en las conversiones del ejemplo anterior, vuelve a convertirse al sistema
decimal mediante la expresin [5], veremos que no coinciden directamente con los valores
originales de los nmeros A10 y B10, slo son aproximaciones. Aparece un error, denomina error de
cuantizacin, este error ser menor cuanto mas bits sean utilizados para la parte decimal (siempre
que el nmero pueda representarse dentro del rango establecido por la expresin [7]).

Antes de estudiar las operaciones aritmticas bsicas, veamos el efecto de corrimiento o


desplazamiento de un nmero.

CORRIMIENTO O DESPLAZAMIENTO DE UN NMERO

El corrimiento o desplazamiento de un nmero es una operacin en la que los N bits del mismo se
corren hacia la izquierda o hacia la derecha. La longitud del desplazamiento se denomina n, que
corresponde a los n bits que se ha desplazado el nmero. Estos n bits constituyen un hueco,
cuyo relleno depende del tipo de desplazamiento. Los desplazamientos que veremos son:
Desplazamiento Lgico y Desplazamiento Aritmtico.

Desplazamiento Lgico: Consiste en efectuar un desplazamiento del nmero a izquierda o derecha,


completando con ceros los n bits del hueco. La siguiente figura expresa ste tipo de
corrimiento.

Desplazamiento Aritmtico: Consiste en efectuar un desplazamiento del nmero a izquierda o


derecha. Cuando el desplazamiento es hacia la derecha, los n bits del hueco se rellenan con el bit
de signo. Cuando el desplazamiento es hacia la izquierda, completando con ceros los n bits del
hueco se rellenan con 0 (como en el desplazamiento lgico). En la siguiente figura se observa este
desplazamiento.

TCNICAS DIGITALES 1 REPRESENTACIN Y OPERACIONES ARITMTICAS CON NMEROS EN PUNTO FIJO - 17 / 19 -


El desplazamiento aritmtico hacia la derecha permite extender el bit de signo, ya que efecta el
desplazamiento copiando dicho bit. Esto es sumamente til para efectuar operaciones aritmticas
con signo.

Ejemplo 21: Para los nmeros de 8 bits A2=11001000 y B2=01111000 realizar los siguientes
desplazamientos con una longitud n=3: A) Desplazamiento lgico hacia derecha e izquierda.
B)Desplazamientoaritmticohaciaderechaeizquierda.

A2=11001000 B2=01111000
Desp.LgicoaDerecha 00011001 00001111
A)
Desp.LgicoaIzquierda 01000000 11000000
Desp.AritmticoaDerecha 11111001 00001111
B)
Desp.AritmticoaIzquierda 01000000 11000000

Como puede apreciarse, en el desplazamiento aritmtico hacia la derecha, hay una extensin del bit
de signo.

El efecto de desplazar un nmero hacia la izquierda o derecha es el mismo que se obtiene al


multiplicar o dividir el mismo por la unidad seguida de ceros 2n (siendo n el nmero de ceros). La
multiplicacin produce un desplazamiento de n bits hacia la izquierda, mientras que la divisin un
desplazamiento de n bits hacia la derecha. Esto lo podemos apreciar en el siguiente ejemplo.

Ejemplo 22:MultiplicarydividiralnmeroenteroA2=11001000,por23=10002.

Con el ejemplo anterior puede comprobarse que la multiplicacin y la divisin de un nmero por la
unidad seguida de ceros, produce el desplazamiento aritmtico del nmero hacia uno u otro
extremo.

Considerando los nmeros binarios fraccionarios, el desplazamiento aritmtico permite convertir un


nmero que se encuentra en un formato QM.K a otro formato QS.P. El siguiente ejemplo muestra
como realizar dicha conversin.

TCNICAS DIGITALES 1 REPRESENTACIN Y OPERACIONES ARITMTICAS CON NMEROS EN PUNTO FIJO - 18 / 19 -


Ejemplo 23:PasarA2=110.11011=1,15625delformatoQ3.5alosformatos:Q4.4;Q5.3yQ2.6.

Para efectuar este tipo de conversiones, debe tenerse en cuenta que el nmero pueda representarse
dentro del formato Q deseado. Es decir, debe considerarse el rango determinado por la expresin
[7]. En el ejemplo puede observarse que al disminuir la cantidad de bits K de la parte decimal, se
produce mayor error en la representacin del nmero.

BIBLIOGRAFA

- Ronald J. Tocci; Sistemas digitales: Principios y Aplicaciones; octava edicin, ao 2003.

- Mario C. Ginzburg; Introduccin a las tcnicas digitales con circuitos integrados; octava
edicin, ao 1998.

- Hyeokho Choi; Fixed Point Arithmetic; ao 2003.


http://www.ict.kth.se/courses/IL2206/0506/docs/Choi_Fixed-Point.pdf

- Randy Yates; Fixed-Point Arithmetic: An Introduction; ao 2001.


http://personal.atl.bellsouth.net/y/a/yatesc/fp.pdf

- Erwan Simon; Application Report SPRA588: Implementation of a speed field oriented


control of 3-phase PMSM Motor using TMS320F240; ao 1999.
http://www.datasheetarchive.com/datasheet-pdf/019/DSA00333179.html

- Erick L. Oberstar; Fixed Point Representation and Fraccional Math; ao 2005.


http://www.superkits.net/whitepapers/Fixed%20Point%20Representation%20&%20
Fractional%20Math.pdf

TCNICAS DIGITALES 1 REPRESENTACIN Y OPERACIONES ARITMTICAS CON NMEROS EN PUNTO FIJO - 19 / 19 -

S-ar putea să vă placă și