Capitulo 3

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 17

Capítulo 3 – Lógica digital.

Representación numérica

CAPÍTULO 3 - LÓGICA DIGITAL. REPRESENTACIÓN


NUMÉRICA.
La lógica es el arte de la argumentación correcta y verdadera
Organon, Aristóteles de Estagira

INTRODUCCIÓN
Desde hace mucho tiempo, el hombre en su vida diaria se expresa, comunica, almacena información, la
manipula, etc. mediante letras y números. Para la representación numérica utiliza el sistema de
representación decimal, en tanto que, dependiendo del idioma, dispone de un alfabeto que representa
estas letras.

Siguiendo el mismo principio que guía al hombre, las computadoras tienen su propio sistema de
representación. Debido a su construcción basada fundamentalmente en circuitos electrónicos digitales,
utiliza un sistema binario. Esto obliga a transformar la representación de nuestra información, tanto
numérica como alfanumérica, a una representación binaria para que la máquina sea capaz de
procesarlos.

Como veremos más adelante, tanto el sistema decimal como el binario están basados en los mismos
principios. En ambos, la representación de un número se efectúa por medio de cadenas de símbolos,
los cuales representan una determinada cantidad dependiendo de cada símbolo y la posición que ocupa
dentro de la cadena con respecto al denominado punto (o coma) decimal.

Por cuestiones de índole técnica, los circuitos electrónicos que conforman una computadora suelen
estar capacitados para reconocer señales eléctricas de tipo digital; por lo tanto, se hace necesario que
los métodos de codificación internos tengan su origen en el sistema binario, y con ellos se pueda
representar todo tipo de informaciones y órdenes que sean manejadas por la computadora.

En los circuitos electrónicos suele representarse la presencia de tensión (electricidad) en un punto de un


circuito por medio de un 1, en tanto que 0 representa la ausencia de dicha tensión.

LOS CIRCUITOS LÓGICOS


La electrónica digital está fundamentada en la base matemática formada por el álgebra de Boole
(George Boole, matemático inglés, 1815-1864). Este método de análisis considera que todos los
elementos poseen únicamente dos estados (biestables) o dos valores, verdadero o falso (1 ó 0) que son
opuestos entre sí, no permitiéndose nunca la adopción de estados intermedios. Estudiando las distintas
asociaciones entre ellos se obtienen las leyes generales sobre los procesos lógicos.

Fue Claude Shannon (matemático e ingeniero norteamericano, 1916-2001) quien aplicó estas técnicas
de estudio, a los circuitos compuestos de elementos que solo pueden adoptar dos estados estables
posibles, apareciendo entonces los llamados circuitos lógicos.

Puede decirse entonces que el álgebra de Boole es el sistema matemático empleado en el diseño de
circuitos lógicos, que nos permite identificar mediante símbolos el objeto de un circuito lógico de modo
que su estado sea equivalente a un circuito real.

Es interesante antes de abordar el estudio de las ecuaciones lógicas, comprender algunos conceptos
básicos relativos a la teoría de conjuntos como pueden ser:

Conjunto. Reunión de elementos caracterizados por poseer una propiedad común.


Conjunto universal. También denominado conjunto unidad es el que incluye la totalidad de los
elementos con una propiedad en común.

Curso de ingreso 2012 – Introducción a la computación Página 1 de 17


Capítulo 3 – Lógica digital. Representación numérica

Conjunto particular. Reunión de elementos pertenecientes al conjunto universal, pero que además
poseen alguna características particular que los distingue del resto.
Conjunto vacío. Aquel que no posee ningún elemento. Se representa por 0.
Conjunto complementario de otro conjunto A (también denominado conjunto negado o inverso). Está
constituido por todos los elementos del conjunto universal que no pertenecen al conjunto A.

ALGEBRA DE BOOLE. OPERACIONES Y TEOREMAS


Se definen básicamente tres tipos de operaciones sobre las variables del álgebra de Boole o variables
booleanas que son: La complementación, la suma y el producto.

La complementación
Sea una variable booleana A, que por el hecho de serlo solamente podrá poseer dos estados. Si en un
instante determinado posee el estado lógico 1, diremos que su estado inverso o complementado será el
0. Si por el contrario la variable A posee el estado lógico 0, su complemento será el 1. El complemento
de una variable A se representa simbólicamente por: Ā

La tabla de la verdad de los estados lógicos correspondientes a una variable y a su complementaria o


inversa es la siguiente:
A Ā
0 1
1 0

La suma
La operación lógica suma entre dos o más conjuntos (o variables booleanas) se representa mediante el
signo "+". Por tanto si tenemos C = A + B , leeremos “el conjunto C es la suma de los conjuntos A y B”.
Sin embargo suele leerse “C es igual a A o B”. Esta operación se denomina también reunión de
conjuntos. La función suma se define mediante la siguiente tabla de la verdad:

A B C
0 0 0
0 1 1
1 0 1
1 1 1

En ella podemos apreciar cómo el resultado de esta operación es 1 lógico cuando la variable A, o la
variable B valen 1. Este resultado puede generalizarse para "n" variables de entrada.

El producto
La operación producto entre dos conjuntos se representa mediante el símbolo *, y da como resultado un
conjunto formado por elementos comunes a dichos conjuntos.

Esta operación se denomina también intersección de conjuntos. Por tanto tendremos que D = A * B
representa un producto y se lee “D es igual a A por B”, o también “D es igual a A y B.” (Para mayor
comodidad se acostumbra a escribir D=AB)

La operación producto se define mediante la siguiente tabla de la verdad:

A B D
0 0 0
0 1 0
1 0 0
1 1 1

Curso de ingreso 2012 – Introducción a la computación Página 2 de 17


Capítulo 3 – Lógica digital. Representación numérica

En ella podemos apreciar que el resultado del producto será 1 lógico si y solo si la variable A y la
variable B son ambas 1.

Teoremas
Conocidas ya las tres operaciones más elementales del álgebra de Boole, enunciaremos a continuación
de la forma más concisa posible, sus teoremas fundamentales:

Teorema 1. El resultado de aplicar cualquiera de las tres operaciones antes definidas, a variables
booleanas, es otra variable booleana y además el resultado es único.

Teorema 2. Ley de idempotencia. Tanto la suma como el producto de una variable booleana consigo
misma da como resultado la misma variable:

A+A=A
A*A=A

Teorema 3. Ley de involución. Una variable booleana negada dos veces, da como resultado la misma
variable:

Teorema 4. Ley conmutativa. Se define respecto a la suma (y al producto) y nos dice que el orden de
los sumandos (factores) no altera el resultado:

A+B=B+A
Ā=A
A*B=B*A

Teorema 5. Ley asociativa. Se define respecto a las operaciones suma y producto de la siguiente
forma:
Respecto de la suma: A+(B+C) = (A+B)+C = A+B+C
Respecto del producto: A(BC) = (AB)C = ABC (se omite el símbolo *)

Teorema 6. Ley distributiva.


Respecto de la suma: A+BC = (A+B)(A+C)
Respecto del producto: A(B+C) = AB+AC

Teorema 7. Ley de absorción.


A+AB = A
A(A+B) = A

Teorema 8. Leyes de De Morgan.


A+B=A.B
A.B=A+B
(Las leyes de De Morgan pueden ser generalizadas a "n" variables.)
A continuación se muestran algunas relaciones importantes que se deducen de las operaciones
booleanas y de los teoremas anteriores:

0+A = A 1*A = A 0*A = 0 1+A = 1

Analizadas las variables booleanas y sus operaciones, pasamos a definir una función booleana como un
conjunto de variables booleanas relacionadas entre sí por cualquiera de las tres operaciones ya
definidas o una combinación de ellas. En general la representaremos por:

f(A,B,C,...)

indicando que la función f depende de las variables A, B, C, etc.

Curso de ingreso 2012 – Introducción a la computación Página 3 de 17


Capítulo 3 – Lógica digital. Representación numérica

Además podemos asegurar que toda función booleana es también una variable booleana (Teorema 1).

PUERTAS LÓGICAS
Existe un convenio gráfico para representar dispositivos (electrónicos, hidráulicos, mecánicos, etc.) que
lleven a cabo funciones booleanas elementales y que, en función de la combinación o combinaciones
diseñadas, se obtendrán funciones más complejas. Estos dispositivos que desarrollan las funciones
booleanas, los denominaremos puertas lógicas y son básicamente: Puertas OR, AND, NOT, NOR,
NAND, OR exclusiva y NOR exclusiva.

A+B=A.B
A.B=A+B

Las puertas OR
Desarrollan la suma booleana. Su símbolo gráfico está representado en la FIG.1. donde podemos
apreciar que se trata de una puerta OR de dos entradas y que a su salida nos proporciona la suma
lógica de ambas. Su tabla de la verdad corresponde evidentemente a la suma booleana.

Si deseamos tener una puerta OR de tres entradas no tendremos más que añadir una tercera línea de
entrada y su salida nos dará la suma de las tres variables de entrada.

Las puertas AND


Corresponden al producto booleano de las variables de entrada, proporcionándonos el resultado en su
línea de salida. Su símbolo lógico puede verse en la FIG.2.

Como podemos apreciar, se trata de una puerta AND de dos entradas, si deseamos tener una puerta
AND de tres entradas no tendremos más que añadir una tercera línea en la entrada obteniendo en la
salida el producto lógico de las tres variables de entrada.

Las puertas NOT


Realizan la función complementación o inversión. A estas puertas se las denomina generalmente
inversores. Su representación simbólica es la mostrada en la FIG.3, aunque en realidad, la inversión
propiamente dicha se representa únicamente por el círculo final del símbolo mostrado, siendo la parte
triangular la representación de un amplificador de señal (buffer) que no invierte ni complementa la
entrada.

Las puertas NOR


Realizan la función inversa de una operación suma, es decir, es la equivalente a una puerta OR
complementada. La función lógica será por tanto:

En la FIG.4 podemos ver su representación simbólica y su tabla de la verdad, en la que podemos


apreciar cómo la salida es 1 lógico solo si las variables de entrada son ambas 0 lógicos.

Curso de ingreso 2012 – Introducción a la computación Página 4 de 17


Capítulo 3 – Lógica digital. Representación numérica

Las puertas NAND


Estas puertas realizan la función lógica:

Por tanto esta función es lo mismo que conectar en serie una función lógica producto y una
complementación. Su símbolo lógico y su tabla de la verdad vienen dadas en la FIG.5.

Vemos aquí que la salida de esta puerta será 1 lógico siempre que al menos una de sus entradas sea 0
lógico.

Las puertas OR EXCLUSIVAS


Son puertas que a su salida nos proporcionan la función lógica:

Su símbolo y su tabla de la verdad vienen en la FIG.6. Como podemos ver la salida de esta puerta es 1
lógico siempre que una y solo una de sus entradas tenga el nivel lógico 1, es decir sus entradas tienen
que poseer valores distintos.

Las puertas NOR EXCLUSIVAS


Como su propio nombre indica, realizan la operación inversa de una O exclusiva, por lo que
proporcionan a su salida la función lógica:

En la FIG.7 podemos ver su tabla de la verdad y su símbolo lógico. La salida adopta el valor lógico 1
solamente cuando ambas variables son 0 ó 1 al mismo tiempo.

CIRCUITOS COMBINACIONALES
Un circuito combinacional es un conjunto de puertas lógicas interconectadas, cuya salida, en un
momento dado, es función solamente de los valores de las entradas en ese instante. Como sucede con
una puerta como las vistas anteriormente, la aparición de un valor en las entradas viene seguida casi
inmediatamente por la aparición de un valor en la salida, con un retardo propio de la puerta.

En general, un circuito combinacional consiste de n entradas binarias y m salidas binarias. Como una
puerta, un circuito combinacional puede definirse de tres formas:

Curso de ingreso 2012 – Introducción a la computación Página 5 de 17


Capítulo 3 – Lógica digital. Representación numérica

• Tabla de verdad: Para cada una de las posibles combinaciones de las n señales de entrada, se
enumera el valor binario de cada una de las m señales de salida.
• Símbolo gráfico: Describe la organización de las interconexiones entre puertas.
• Ecuaciones booleanas: Cada señal de salida se expresa como una función booleana de las
señales de entrada.

Los circuitos combinacionales implementan las funciones esenciales de una computadora digital. Sin
embargo, ellos no proporcionan memoria, que es un elemento también esencial para el funcionamiento.
Para estos fines, se utilizan circuitos lógicos digitales mas complejos denominados circuitos
secuenciales y que escapan al objetivo del presente curso.

SISTEMAS DE NUMERACIÓN
“....
¿Cuántos camellos hay?. Para responder a esta pregunta hay que emplear el
número.
¿Serán cuarenta? ¿Serán cien?
Para llegar al resultado el beduino precisa poner en práctica cierta actividad. El
beduino necesita contar.
Para contar, el beduino relaciona cada objeto de la serie con cierto símbolo: uno,
dos, tres, cuatro,...
Para dar el resultado de la cuenta, o mejor el número, el beduino precisa inventar un
sistema de numeración. ....”
El hombre que calculaba, Capítulo XX. Como Beremiz da su 2da clase de matemática

Se denomina sistema de numeración al conjunto de símbolos y reglas que se utilizan para la


representación de datos numéricos o cantidades.

Un sistema de numeración se caracteriza fundamentalmente por su base, que es el número de


símbolos distintos que utiliza, y además es el coeficiente que determina cuál es el valor de cada símbolo
dependiendo de la posición que ocupe.

Los sistemas de numeración actuales son sistemas posicionales, en los que el valor relativo que
representa cada símbolo o cifra de una determinada cantidad depende de su valor absoluto y de la
posición relativa que ocupa dicha cifra con respecto a la coma decimal.

TEOREMA FUNDAMENTAL DE LA NUMERACIÓN


Se trata de un teorema que relaciona una cantidad expresada en cualquier sistema de numeración
posicional con la misma cantidad expresada en el sistema decimal.

Supongamos una cantidad expresada en un sistema cuya base es B y representamos por xi cada uno
de los dígitos que contiene dicha cantidad, donde el subíndice i indica la posición del dígito con respecto
a la coma fraccionaria, la posición se numera en forma creciente hacia la izquierda y decreciente hacia
la derecha de la coma (posición 0), en ambos casos de a 1.

El Teorema Fundamental de la Numeración dice que el valor decimal de una cantidad expresada en
otro sistema de numeración, está dado por la fórmula:

donde el número en base B es ...x4 x3 x2 x1 x0 x-1 x-2...., o sea

Curso de ingreso 2012 – Introducción a la computación Página 6 de 17


Capítulo 3 – Lógica digital. Representación numérica

SISTEMAS DECIMAL, BINARIO Y HEXADECIMAL


El sistema que ha usado el hombre para contar desde hace bastante tiempo es el denominado sistema
decimal, adoptado por contar con los diez dedos de la mano.

El sistema decimal es uno de los denominados posicionales, que utiliza un conjunto de 10 símbolos, xi Є
{0,...9}. Un valor determinado o cantidad, que se denomina número decimal, se puede expresar por la
fórmula del Teorema anterior, donde la Base es 10.

Ejemplo:
¿Cuál es la interpretación de la representación de la cantidad 3,1416?

El sistema binario es el sistema de numeración que utiliza internamente el hardware de las


computadoras actuales. La base o número de símbolos que utiliza el sistema binario es 2, siendo los
símbolos 0 y 1, los utilizados para la representación de cantidades.

Ejemplo
¿Qué número decimal representa el número binario 1001,1?. Utilizando el Teorema
Fundamental de la Numeración:

Al igual que los anteriores, el sistema hexadecimal es un sistema posicional pero que utiliza dieciséis
símbolos para la representación de cantidades. Estos símbolos son los siguientes:
0123456789ABCDEF
donde las letras A, B, C, D, E, F equivalen a 10, 11, 12, 13, 14 y 15 del sistema decimal
respectivamente.

Ejemplo:
¿Qué número decimal representa el número hexadecimal 2CA?

Operaciones de Suma y Resta Binaria


Las operaciones aritméticas son similares a las del sistema decimal, con la diferencia que se manejan
sólo los dígitos 0 y 1. Al realizar la suma parcial de dos dígitos, si el resultado excede el valor del
mínimo dígito (el 1) se debe pasar el sobrante (denominado acarreo) a la suma parcial siguiente hacia la
izquierda.

Ejemplo Sumaremos los números binarios 100100 y 10110

En la resta binaria hay que tener en cuenta que al realizar las restas parciales entre dos dígitos de
idénticas posiciones, uno del minuendo y otro del sustraendo, si el segundo excede al primero, se
sustrae una unidad del digito de más a la izquierda en el minuendo –pedir prestado-. Si el dígito
siguiente de la izquierda es 0, se busca en los sucesivos teniendo en cuenta que su valor se multiplica
por dos a cada desplazamiento sucesivo a derecha.

Ejemplo
Restar los números binarios 111100 y 101010

Curso de ingreso 2012 – Introducción a la computación Página 7 de 17


Capítulo 3 – Lógica digital. Representación numérica

CONVERSIONES ENTRE LOS SISTEMAS DE NUMERACIÓN


Se denomina conversión entre números representados en distintos sistemas de numeración a la
transformación de una determinada cantidad expresada en uno de dichos sistemas de numeración, a su
representación equivalente en el otro sistema.

Conversión decimal-binario
El método de conversión de un número decimal a un número binario consiste en efectuar, sobre la parte
entera del número decimal, divisiones sucesivas de los cocientes por el número 2, hasta que el cociente
entre una de las divisiones tome el valor 0. La unión de todos los restos obtenidos, escritos en orden
inverso, nos proporciona ahora el número inicial expresado en sistema binario.

Ejemplo
Convertir el número decimal 15 a binario.

Leyendo los restos del último obtenido al primero de ellos, obtenemos: 11112 = 1510

Para convertir una fracción decimal a su equivalente binario se debe multiplicar dicha fracción por dos,
obteniendo en la parte entera del resultado el primero de los dígitos binarios de la fracción que
buscamos. A continuación, se repite el proceso con la parte fraccionaria del resultado anterior,
obteniendo en la parte entera del nuevo resultado el segundo de los dígitos buscados. El proceso se
repite hasta que desaparezca la parte fraccionaria de los resultados parciales (se haga 0) o hasta que
tengamos los suficientes dígitos binarios.

Ejemplo
Se desea convertir la fracción 0,828125 a binario

Conversión hexadecimal-binaria y binario-hexadecimal


Para convertir un número hexadecimal a binario se sustituye cada dígito hexadecimal por su
representación binaria con cuatro dígitos según indica la Tabla 1. En la conversión de binario a
hexadecimal se realiza un proceso inverso. Se agrupan los dígitos binarios de a 4 a partir de la coma
decimal hacia la izquierda y hacia la derecha, sustituyendo cada cuarteto por su correspondiente dígito
hexadecimal.

Curso de ingreso 2012 – Introducción a la computación Página 8 de 17


Capítulo 3 – Lógica digital. Representación numérica

Ejemplo
Convertir 7BA3,BC a binario

Convertir el número binario 1100101001000,1011011 a hexadecimal

Conversión de cualquier base a decimal


Para ello se utiliza el teorema fundamental de la numeración y se convierte el número de la base que se
disponga a la decimal.

REPRESENTACIÓN DE NÚMEROS ENTEROS


Las computadoras utilizan cuatro métodos para la representación interna de números enteros (positivos
y negativos); éstos son los siguientes:

• Módulo y signo.
• Complemento a 1.
• Complemento a 2.
• Exceso a 2n-1.

Estas representaciones de números utilizan el sistema binario y se considera que tenemos un número
limitado de bits para cada dato numérico. Este número de bits disponibles lo representamos por n.
También se pueden representar mediante estos métodos números reales, como veremos más adelante.

Módulo y signo
En este sistema de representación, el bit que está situado más a la izquierda representa el signo, y su
valor será 0 para el signo + y 1 para el signo -. El resto de bits (n-1) representan el módulo del número.
Suponemos en principio que los números no poseen parte decimal, por lo que la coma se supone
implícita a la derecha.

Por ejemplo, supongamos que disponemos de 8 bits, y queremos representar los números 10 y –10.
Veamos cuales son sus representaciones.

Representa al numero 10,

Curso de ingreso 2012 – Introducción a la computación Página 9 de 17


Capítulo 3 – Lógica digital. Representación numérica

Representa al número –10.

Se denomina rango de representación en un método determinado al conjunto de números


representables en el mismo. Para módulo y signo el rango de representación es, si se disponen de n
bits:

-2n-1 + 1 <= X <= 2n-1 – 1

Para el caso de n = 8 bits, el rango de representación va desde –127 a 127.

La ventaja que presenta este sistema frente a otros es la de poseer rango simétrico (igual cantidad de
números positivos que negativos), mientras que su mayor inconveniente es el de poseer dos
representaciones para el número 0. El cual se representa tanto con un signo positivo (0) como con uno
negativo (1) y el resto de los bits en 0.

Complemento a 1
Este sistema de representación utiliza el bit de más a la izquierda para el signo, correspondiendo el 0
para el signo + y el 1 para el signo -. Para los números positivos, los n-1 bits de la derecha representan
el m?ulo (igual que en el sistema anterior). El negativo de un número positivo se obtiene
complementando todos sus dígitos (cambiando ceros por uno y viceversa) incluido el signo.

Veamos la representación en complemento a 1 de los números 10 y –10 para el caso de n=8 bits.

Representa al número 10,

Representa al número –10.

Para el complemento a 1 el rango de representación es, si se disponen de n bits:

-2n-1 + 1 <= X <= 2n-1 – 1

Para el caso de n = 8 bits, el rango de representación va desde –127 a 127.

La ventaja que presenta este sistema frente a otros es la de poseer rango simétrico (igual cantidad de
números positivos que negativos), mientras que su mayor inconveniente es el de poseer dos
representaciones para el numero 0. El cual se representa tanto con todos 0 como con todos los bits en
uno.

Complemento a 2
Este sistema de representación utiliza el bit de m? a la izquierda para el signo, correspondiendo el 0
para el signo + y el 1 para el signo -. Para los números positivos, los n -1 bits de la derecha representan
el módulo (igual que en los dos sistemas anteriores). El negativo de un número positivo se obtiene en
dos pasos:

• Primer paso: se complementa el número positivo en todos sus bits (cambiando ceros por uno y
viceversa), incluido el bit de signo, similar a complemento a 1.
• Segundo paso: al resultado obtenido se el suma 1 (en binario), despreciando el último acarreo si
existiera.

Veamos la representación en complemento a 2 de los números 10 y –10 para el caso de n = 8 bits.

Curso de ingreso 2012 – Introducción a la computación Página 10 de 17


Capítulo 3 – Lógica digital. Representación numérica

Representa al número 10 y

Representa al número –10.

Para el complemento a 2 el rango de representación es, si se disponen de n bits:

-2n-1 <= X <= 2n-1 – 1

Para el caso de n = 8 bits, el rango de representación va desde –128 a 127.


La principal ventaja es la de tener una única representación para el número 0, ya que el 0 positivo o
negativo se representan igual.

Exceso a 2n-1
Este método de representación no utiliza la convención del BIT más significativo para identificar el
signo, con lo cual todos los bits representan un número o valor. Este valor se corresponde con el
número representado más el exceso, que para n bits viene dado por 2n-1. El signo del número resulta de
una operación aritmética.

Por ejemplo, para n=8 bits el exceso será 128, con lo cual para representar un número debería
sumársele dicho exceso. De esta manera el número 10, que veníamos representando, recibirá la
adición del número 128, con lo que representaremos el número binario 138. Por otro lado, el número –
10, se representarán como el 118 (-10+128). De esta forma quedarán:

Representando al número 10,

Representando al número –10.

En este sistema el número 0 tiene una sola representación, la cual consiste en representar el exceso,
128 en este caso.

El rango de representación en exceso a 2n-1 es asimétrico y viene dado por:


-2n-1 <= X<= 2n-1 – 1
Resulta interesante observar que todo número representado en exceso a 2n-1 tiene la misma
representación que un complemento a 2 con el bit de signo cambiado. Puede inferirse entonces, que el
bit mas significativo representar? el signo de valor opuesto (el 0 un valor ‘-‘ y el 1 un valor ‘+’).

Suma en complemento a 2
En la aritmética de complemento a 2, dos números se suman de igual forma que en complemento a 1,
con la única diferencia que se desprecia el último acarreo en el caso que el mismo exista.

Ejemplo
Sumar los números 10 y –3 en complemento a 2 para n = 8 bits. La representación de los números es:

Por lo tanto la suma: acarreo que se desprecia

Curso de ingreso 2012 – Introducción a la computación Página 11 de 17


Capítulo 3 – Lógica digital. Representación numérica

La suma de los números decimales 110 y 30 representados en complemento a 2 utilizando n = 8 bits es:

Flags
En la UCP, existen banderas o flags que luego de realizar una operación, cambiarán acorde al resultado
de dicha operación. El estado de estos bits (que formarán parte de un registro) pueden ser consultados
por el programador por medio de instrucciones especiales; la importancia de estos bits reside en que de
acuerdo a su valor (1 ó 0), permitirán la toma de decisiones.

Se presentan aquí 4 de estas, que son afectadas luego de realizar una suma ó una resta, por eso las
llamaremos banderas aritméticas. Otras instrucciones pueden no afectarlas, como así también debemos
mencionar que existen otras banderas que se modificarán en respuesta a otras instrucciones.
Estas banderas ó bits son:
• Z (cero): esta bandera toma el valor 1 indicando que el resultado de la operación fue cero. Para
cualquier otro resultado el valor de esta bandera es cero.
• N (negativo): esta bandera toma el valor del bit más significativo del resultado. Dicho de otra
manera si la bandera vale 1 es porque el resultado es negativo, y 0 si el resultado es positivo.
• V (overflow): esta bandera vale 1, indicando una condición de desborde (fuera de rango) del
resultado en números con signo (complemento a 2). Por condición De desborde se entiende que
la cantidad de bits no alcanza para expresar el resultado.
• C (carry): esta bandera toma el valor 1 indicando que hay ’acarreo’ en la suma ó ‘borrow’ en la
resta. Cuando esta bandera toma el valor 1 indica una condición de fuera de rango en números
sin signo.

Veamos algunos ejemplos, por simplicidad tomemos números de 4 bits:

Al lado de la operación realizada se muestra el estado de las banderas. La bandera N está en 1


indicando que el resultado fue negativo, esto lo vemos porque el mismo empieza con 1, como
corresponde a números negativos en complemento a 2. La bandera Z es 0, porque el resultado no fue
cero. La bandera de overflow (V) está en 1 indicando una condición de desborde en números con
signo. ¿Cómo se llega a esta conclusión?. Afortunadamente no es tan difícil, si se observa la suma, se
verá que los operandos empiezan con 0, ó sea son positivos, por tanto el resultado de la suma no
puede dar un valor negativo (por comenzar con 1). Sólo puede haber desborde en una suma si los dos
números son del mismo signo. La bandera C es cero pues no hay acarreo en el resultado.

Observando la bandera de overflow podemos concluir que si el resultado es interpretado como un


número con signo está mal, pero interpretando el mismo como un número sin signo está bien pues la
bandera de carry está en cero.

Curso de ingreso 2012 – Introducción a la computación Página 12 de 17


Capítulo 3 – Lógica digital. Representación numérica

Analicemos la cuenta, si interpretamos como números con signo quisimos sumar 5 + 7 = -4 (valor
erróneo). El resultado de la cuenta deberá dar +12, pero este número no puede ser expresado con 4
bits, pues el positivo más grande que se puede expresar con esta cantidad de dígitos es +7.

Si los interpretamos como números sin signo sumamos 5 + 7 = 12 (valor correcto). Con 4 bits sin signo
se puede expresar hasta el 15, por lo tanto la interpretación sin signo es correcta.

Otro ejemplo puede ser el siguiente.

La bandera N es 0, Z = 1 indica que el resultado es cero, aquí el resultado se considera con 4 bits como
los operandos, V = 0, y C = 1 pues hay arrastre en el bit más significativo del resultado, es decir
“aparecerá” un quinto BIT.

Interpretando el resultado de acuerdo a las banderas estará bien si sumamos números con signo (V=0)
pero estará mal si la suma representa números sin signo (C = 1).
Con signo sumamos –3 + 3 = 0 (correcto) pero sin signo es 13 + 3 = 0 (deberá resultar 16 que no puede
ser expresado con 4 bits).

Veamos un ejemplo de resta:

Analicemos las banderas, N = 1, indica resultado negativo, Z = 0, V = 0 no hay overflow, la condición a


analizar es la misma que para la suma, la diferencia es que para la resta el desborde se puede producir
cuando los operandos tienen signo contrario y no iguales. C = 1 indica el borrow y por tanto un
resultado incorrecto en la resta de números sin signo.

Con signo (Ca2) la cuenta es 5 – 7 = -2 resultado correcto (V = 0) y sin signo la cuenta es 5 – 7 = 14,
incorrecto pues deberá dar –2 (valor que no se puede expresar en números sin signo).

REPRESENTACIÓN EN COMA O PUNTO FIJO


El nombre de esta representación surge de suponer el punto fraccional, situado en una posición fija. El
punto fijo es utilizado para la representación de números enteros, suponiéndose el punto fraccional
ubicado a la derecha de los bits.

Cualquiera de los sistemas de representación de enteros vistos en el apartado anterior es una


representación de punto fijo. También, el programador puede utilizar la representación en punto fijo para
representar fracciones binarias escalando los números, de modo que el punto fraccional quede ubicado
implícitamente en otra posición entre los bits, y en el caso límite a la izquierda de todos ellos
describiendo un número fraccional binario puro (menor a 1).

REPRESENTACIÓN EN COMA FLOTANTE


La coma o punto flotante surge de la necesidad de representar números reales y enteros con un rango
de representación mayor que el que nos ofrece la representación en punto fijo y posibilitar a la
computadora el tratamiento de números muy grandes y muy pequeños. Estas ventajas que nos ofrece
la coma flotante traen como contraprestación una disminución (relativamente pequeña) en la precisión
de los números representados.

Curso de ingreso 2012 – Introducción a la computación Página 13 de 17


Capítulo 3 – Lógica digital. Representación numérica

En su representación se utiliza la notación científica o exponencial matemática en la que una cantidad


se representa de la siguiente forma:

Un número en esta notación tiene infinitas representaciones, de las que se toma como estándar la
denominada normalizada, que consiste en que la mantisa no tiene parte entera y el primer dígito o cifra
a la derecha del punto decimal es significativo (distinto de 0), salvo en la representación del número 0.

Ejemplo
Representación del número decimal 835,4 con base de exponenciación 10.
siendo la última expresión la que corresponde al número normalizado.
835,4 =8354*10−1 =835,4*100 =83,54*101 =8,354*102 = 0,8354*103

En este sistema de codificación de números, se dividen los bits disponibles en la palabra o doble
palabra de la computadora entre la mantisa y el exponente, teniendo una base de exponenciación
determinada (2 o potencia de 2). Normalmente la definición de la coma flotante de una computadora
sigue las siguientes reglas:
• El exponente se representa en uno de los siguientes sistemas de codificación módulo y signo o
exceso a 2n-1, siendo siempre un número entero. En este sistema de codificación el exponente
también recibe el nombre de característica.
• La mantisa es un número real con el punto decimal implícito a la izquierda de sus bits,
representada normalmente en uno de los siguientes sistemas de codificación módulo y signo,
complemento a 1 o complemento a 2.
• La base de exponenciación es una potencia de 2 determinada por el fabricante de la
computadora (2, 8 o 16)
Existen muchas formas de representación en coma flotante, variando su longitud de la palabra de la
computadora, la base de la exponenciación, el número de bits reservados para la mantisa y para el
exponente, el sistema utilizado para representar la mantisa y el exponente, etc.. La coma flotante se
define particularmente en cada caso. Las definiciones m? comunes son las siguientes:
a) para simple precisión (32 bits) signo exponente mantisa

31 30 23 22 0

b) para doble precisión (64 bits) signo exponente mantisa

63 62 52 51 0

El rango de representación en la coma flotante debe ser analizado teniendo en cuenta los mínimos y
mínimos valores representables tanto con signo positivo como negativo:

• máximo número negativo = -(mantisa máxima) * base máximo exponente positivo


• máximo número negativo = -(mantisa mínima) * base -máximo exponente negativo
• mínimo número positivo = mantisa mínima * base -máximo exponente negativo
• mínimo número positivo = mantisa máxima * base máximo exponente positivo

Conviene observar que existen cuatro zonas de números que no pueden ser representados mediante
un determinado formato de coma flotante. Estas zonas están ubicadas cercanas al 0, tanto para valores
positivos como negativos (subdesborde positivo o negativo), como para valores grandes (positivos) o
chicos (negativos) que exceden el rango de representación.

Ejemplo
Una computadora utiliza el siguiente formato para registrar números en coma flotante:
• los bits del 23 al 30 se utilizan para representar el exponente en exceso a 128 (27)

Curso de ingreso 2012 – Introducción a la computación Página 14 de 17


Capítulo 3 – Lógica digital. Representación numérica

• los bits del 0 al 22 se utilizan para representar la mantisa normalizada para el sistema Módulo y
signo
• el bit 31 se utiliza para representar el signo de la mantisa (0 para el +)
• la base de exponenciación es 2
• el 0 se representa con todos los bits en 0.

Representar en este formato el número 12:


• 12 en notación normalizada de base 2 es 0,75 * 24
• el exponente de valor 4 en exceso a 128 es: 10000100
• la mantisa 0,75 en binario es 0,11

de donde la representación del número 12 quedará como:


0 10000100 11000000000000000000000
signo (+) exponente 4 mantisa 0,75

Representar en el formato definido el –12. En este caso la notación normalizada solo sufre cambio en el
signo de la mantisa (-0,75 * 24), la expresión quedarán entonces:
1 10000100 11000000000000000000000
signo (-) exponente 4 mantisa 0,75

El rango de representación de este formato en coma flotante ser?


• mínimo negativo = -(1 - 223)*2127 ≅ -2127 = 1,701411834605 * 1038
• máximo negativo = -0,5 * 2-128 = -2-129 = -1,469367938528 * 10-39
• mínimo positivo = 0,5 * 2-128 = 2-129 = 1,469367938528 * 10-39
• máximo positivo = (1 - 223) *2127 ≅ 2127 = 1,701411834605 * 1038

REPRESENTACIÓN INTERNA DE DATOS: CODIFICACIÓN ALFANUMÉRICA


Los datos e informaciones que se manejan internamente en un sistema informático se pueden
representar, según sus características, de la siguiente forma:

Códigos Alfanuméricos
Una computadora puede trabajar internamente con un conjunto de caracteres que nos permitirán
manejar datos, informaciones, instrucciones, órdenes de control, etc.
Este conjunto de caracteres podemos subdividirlo en los siguientes grupos:

• caracteres alfabéticos
• letras mayúsculas (A..Z sin la Ñ)
• letras minúsculas (a..z sin la ñ)
• cifras decimales: los números 0, 1, ..., 9
• caracteres especiales
• caracteres como el . , ; : * @, etc.

Curso de ingreso 2012 – Introducción a la computación Página 15 de 17


Capítulo 3 – Lógica digital. Representación numérica

• órdenes de control. Equivalen a las teclas enter, tabulación, esc, etc.

En general cada carácter se maneja internamente en una computadora por medio de un conjunto de 8
bits mediante un sistema de codificación binario que denominaremos código de caracteres.

Cada computadora tiene su código de caracteres definidos por el fabricante, si bien la mayoría de ellos
adaptan a sus equipos códigos estándar de los ya establecidos.

En estos códigos se representa cada caácter por medio de un byte, con lo cual todo tipo de información
puede ser utilizada internamente, formando cadenas de bytes sucesivos que representará cadenas de
caracteres para que la máquina las maneje e interprete. No todos los tipos de códigos utilizan para la
representación de caracteres los ocho bits de un byte; en la actualidad se tiende a utilizar códigos de 8
bits aunque siguen existiendo algunos códigos de 6 y 7 bits.

Los primeros códigos utilizados fueron de 6 bits, que permiten la representación de 26 caracteres
distintos (64 caracteres), que generalmente se corresponden a:
• 26 letras mayúsculas
• 10 cifras numéricas
• 28 caracteres denominados especiales

Un ejemplo de código de 6 bits es el código FIELDATA.

Con el nacimiento de los lenguajes de programación de alto nivel comenzaron a utilizarse códigos de 7
bits que permiten la representación de los mismos caracteres que los códigos de 6 bits añadiendo las
letras minúsculas y caracteres cuyo significado son órdenes de control entre periféricos. Un ejemplo
muy utilizado de este tipo de códigos es el ASCII (American Standard Code for Information Interchange)
de 7 bits.

Hoy los códigos utilizados son los de 8 bits, de los cuales los más conocidos son el ASCII extendido que
agrega un bit a la representación ASCII extendiendo la cantidad de símbolos disponibles a 256 y el
EBCDIC (Extended Binary Coded Decimal Interchage Code).
PREGUNTAS DE REVISIÓN
1- ¿Cuál es la razón técnica por la cual la mayoría de las computadoras son únicamente
sistemas digitales binarios?
2- Trabajar con una base de expresión numérica mayor que 2 (por ejemplo 10 o 16) puede
tener beneficios para “acortar” el número de dígitos de un número. Sin embargo,
internamente en la computadora obliga a “convertir” a binario. Esta metodología puede
conducir a errores? ¿Por qué?
3- ¿Qué ventaja tiene que en algunas computadoras se fabriquen unidades aritméticas
dedicadas exclusivamente a realizar las operaciones de punto flotante por hardware?
4- Si las computadoras están constituidas por circuitos o chips que implementan funciones
lógicas por interconexión de puertas lógicas. ¿Qué utilidad o ventajas se obtendrían si
un usuario pudiera establecer o programar la interconexión de las puertas lógicas de un
chip? Investigue si existen los supuestos circuitos con lógica programable.
5- ¿Cuál es el funcionamiento del siguiente circuito que justifica se lo denomine como
decodificador 3 a 8?

Curso de ingreso 2012 – Introducción a la computación Página 16 de 17


Capítulo 3 – Lógica digital. Representación numérica

Curso de ingreso 2012 – Introducción a la computación Página 17 de 17

También podría gustarte