Вы находитесь на странице: 1из 21

FICES UNSL Dpto.

Ciencias Bsicas rea de Computacin Tecnicatura Universitaria en Informtica Industrial Orientacin Automatizacin Introduccin a la programacin

INTRODUCCIN A LA PROGRAMACIN
Docente Responsable: Ing. Javier Carletto jcarlet@fices.unsl.edu.ar

Unidad Temtica N 1 NUMERACIN BINARIA Y ALGEBRA DE BOOLE Gua de estudio


Sistemas de numeracin y cdigos
INTRODUCCIN - HISTORIA
El concepto de nmero y el proceso del desarrollo del conteo ha sido histricamente registrado a lo largo del tiempo. Es fcil imaginar cual fue probablemente las primeras necesidades de utilizar conteo. Una tribu primitiva tenia que conocer cuantos miembros tena en comparacin con el nmero del enemigo, un pastor determinar necesariamente si el rebao de ovejas haba crecido en tamao o no, saber si una familia era mas numerosa que otra, llevar la cuenta del ganado, etc. Es probable que la primera forma de realizar un control fue por medio de un simple mtodo de encuadre, empleando el principio de correspondencia de uno a uno, usando piedras, palos, dedos, muescas en madera y nudos en cuerdas, sin embargo, a medida que la cantidad crece se hace necesario un sistema de representacin ms prctico. En diferentes partes del mundo y en distintas pocas se lleg a la misma solucin, cuando se alcanza un determinado nmero se hace una marca distinta que los representa a todos ellos. Este nmero es lo que se conoce como la base. Se sigue aadiendo unidades hasta que se vuelve a alcanzar por segunda vez el nmero anterior y se aade otra marca de la segunda clase. Cuando se alcanza un nmero determinado (que puede ser diferente del anterior constituyendo la base auxiliar) de estas unidades de segundo orden, las decenas en caso de base 10, se aade una de tercer orden y as sucesivamente. Es evidente que algunos nmeros han servido como base, pero sin duda, la base que ms se ha utilizado a lo largo de la Historia es 10 segn todas las apariencias por ser ese el nmero de dedos con los que contamos. Hay alguna excepcin notable como son la numeracin babilnica que usaba 10 y 60 como bases (todava utilizada para medir el tiempo, y los ngulos en grados, minutos y segundos) y la numeracin maya que usaba 20 y 5 aunque con alguna irregularidad. Desde hace 5000 aos la gran mayora de las civilizaciones han contado en unidades, decenas, centenas, millares etc. es decir de la misma forma que seguimos hacindolo hoy. Sin embargo la forma de escribir los nmeros ha sido muy diversa y muchos pueblos han visto impedido su avance cientfico por no disponer de un sistema eficaz que permitiese el clculo. Casi todos los sistemas utilizados representan con exactitud los nmeros enteros, aunque en algunos pueden confundirse unos nmeros con otros, pero muchos de ellos no son capaces de representar grandes cantidades, y otros requieren tal cantidad de smbolos que los hace poco prcticos. Pero sobre todo no permiten en general efectuar operaciones tan sencillas como la multiplicacin, requiriendo procedimientos muy complicados que slo estaban al alcance de unos pocos iniciados. De hecho cuando se empez a utilizar en Europa el sistema de numeracin actual, los abaquistas, los profesionales del clculo se opusieron con

Pgina 1 de 21

FICES UNSL Dpto. Ciencias Bsicas rea de Computacin Tecnicatura Universitaria en Informtica Industrial Orientacin Automatizacin Introduccin a la programacin

las ms peregrinas razones, entre ellas la de que siendo el clculo algo complicado en s mismo, tendra que ser un mtodo diablico aquel que permitiese efectuar las operaciones de forma tan sencilla. El sistema actual fue inventado por los indios y transmitido a Europa por los rabes. Del origen indio del sistema hay pruebas documentales ms que suficientes, entre ellas la opinin de Leonardo de Pisa (Fibonacci) que fue uno de los introductores del nuevo sistema en la Europa de 1200. El gran mrito fue la introduccin del concepto y smbolo del cero, lo que permite un sistema en el que slo diez smbolos puedan representar cualquier nmero por grande que sea y simplificar la forma de efectuar las operaciones. Sin embargo, las computadoras no utilizan esta base numrica para sus clculos. La computadora usa un sistema basado sobre una base dos. Este sistema tiene solamente dos dgitos, 0,1. El sistema numrico de base dos es denominado sistema binario. No fue sino hasta 1945, cuando John von Neumann estableci el concepto de programa almacenado para las computadoras digitales, que el sistema binario fue hecho el lenguaje comn de todas las futuras computadoras. El sistema binario es utilizado dentro del las computadoras bsicamente para simplificar los circuitos aritmticos de las computadoras, proporcionar una manera sencilla de almacenar informacin e instrucciones y proporcionar confiabilidad. En general es mucho mas fcil conseguir una base dos con un sistema electrnico (dos estados distintos) que uno de base diez. Sin embargo, otros dos sistemas numricos son usados cuando trabajamos con computadoras: Hexadecimal, y el Octal. Estos sistemas numricos son utilizados principalmente como un mtodo para la representacin de nmeros binarios. Centraremos nuestro estudio en estos cuatro sistemas numricos, decimal, binario, octal y hexadecimal.

SISTEMAS NUMRICOS
Cualquier nmero de cualquier base se puede representar en decimal mediante la siguiente ecuacin polinmica:

N = a1 b n + a 2 b

n 1

+ a3 b

n2

+ ... + a 0 b 0 + a 1 b

+ ...

Siendo b la base del sistema de numeracin. Se cumplir que b>1; ai es un nmero perteneciente al sistema que cumple la siguiente condicin: 0 ai <b.

SISTEMA NUMRICO DECIMAL Este sistema de numeracin fue desarrollado por los hindes, posteriormente lo introducen los rabes en Europa, donde recibe el nombre de sistema de numeracin decimal o arbigo. Como vimos tiene una base 10, es decir, emplea 10 caracteres o dgitos diferentes para indicar una determinada cantidad: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. El valor de cada smbolo depende de su posicin dentro de la cantidad a la que pertenece. Vemoslo con un ejemplo:

136 10 = 1 10 2 + 3 101 + 6 10 0
136 ,4210 = 1 10 2 + 3 101 + 6 10 0 + 4 10 1 + 2 10 2

Pgina 2 de 21

FICES UNSL Dpto. Ciencias Bsicas rea de Computacin Tecnicatura Universitaria en Informtica Industrial Orientacin Automatizacin Introduccin a la programacin

SISTEMA BINARIO Es el sistema digital por excelencia, aunque no el nico, debido a su sencillez. Su base es 2 es decir que emplea solo dos caracteres: 0 y 1. Los nmeros binarios son el sistema comn interno de la computacin digital debido a la relativa simplicidad de registrar, almacenar y reconocer variables de solamente dos valores. El valor de un numero binario es computado multiplicado el valor de cada dgito por la correspondiente potencia de dos y sumando todos estos productos. Los pesos posicionales (potencias de dos) de un numero binario sern representados conforme a la tabla que a continuacin se muestra. Veamos con un ejemplo como se representa este nmero teniendo en cuenta que el resultado de la expresin polinmica dar su equivalente en el sistema decimal:

100112 = 110 4 + 0 103 + 0 10 2 + 1101 + 110 0 = 1910


Para contar en el sistema decimal se comienza en la primera columna o lugar decimal con un 0, y se prosigue hasta 9. Una vez que el primer lugar est lleno, se pone un cero en dicha columna y se suma uno a la siguiente (a la izquierda). Despus del 9 sigue el diez. Con esto la primera columna puede volver a llenarse. Despus del 10 vienen el 11, 12, 13, etc. cuando la primera columna se llena otra vez, se vuelve a hacer cero y se suma uno a la siguiente columna de la izquierda. Despus del 99 sigue el 100. Para contar en binario se comienza en la primera columna, o posicin binaria, con 0 y se cuenta hasta 1. La primera columna se llena y se hace entonces 0, sumando 1 a la siguiente columna de la izquierda. Despus del 0 habr un 1, es decir 10. Con esto, la primera columna puede volver a llenarse otra vez. Despus de 10 sigue el 11. Las dos columnas estn llenas. Se hacen cero ambas y se suma 1 a la siguiente posicin binaria a la izquierda. Despus del 11 sigue el 100. Ahora la primera columna puede volver a llenarse otra vez. Despus del l00 siguen 101, 110, 111, 1000, 1001, 1010, 1011, 1100. 1101, y as sucesivamente. Entonces para contar en binario se tiene: 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111

La primera columna est llena. Se pone un cero y se suma un uno a la segunda columna. Las dos primeras columnas estn llenas. Se ponen ceros y se suma uno a la tercera columna.

Las tres primeras columnas estn llenas. Se ponen ceros y se suma uno a la cuarta columna.

Las cuatro primeras columnas estn llenas.

La palabra bit es una contraccin de las palabras en ingles binary digit (dgito binario). Cada posicin de un nmero binario se conoce como bit. El nmero binario 10110 es un nmero de cinco bits. Con el uso de tres bits se puede contar en binario hasta 111, o 7 en decimal. Si se incluye el 000, entonces se tienen ocho combinaciones diferentes. En general, con N bits se N N puede contar hasta 2 - 1 para un total de 2 nmeros distintos.

Pgina 3 de 21

FICES UNSL Dpto. Ciencias Bsicas rea de Computacin Tecnicatura Universitaria en Informtica Industrial Orientacin Automatizacin Introduccin a la programacin

Cuenta mxima = 2 - 1, donde N es el nmero de bits. Nmero de combinaciones = 2 , donde N es el nmero de bits.
N

SISTEMA OCTAL El sistema octal, posee ocho smbolos: 0, 1, 2, 3, 4, 5, 6, 7. Su base es 8. Este sistema tiene una particularidad que lo hace muy interesante para trabajar en computadoras digitales, y es que la conversin al sistema binario resulta muy sencilla ya que, 8 3 =2 .

SISTEMA HEXADECIMAL. Est compuesto por 16 smbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Su base es 16. Es uno de los sistemas ms utilizados en electrnica, ya que adems de simplificar la escritura de los nmeros binarios, todos los nmeros del sistema se pueden expresar en cuatro 4 bits binarios al ser 16 = 2 . La conversin de un nmero hexadecimal a uno binario es muy sencilla al igual que en el sistema octal. Como ejemplos de utilizacin de nmeros hexadecimales, podemos mencionar los direccionamientos de memoria en la mayora de los dispositivos programables, y en multimedia la denominacin de los colores para la web, se representan por un cdigo hexadecimal de 6 cifras como se muestran a modo de ejemplo algunos colores en la siguiente tabla.
#9966CC #99CCCC #CC00CC #CC66CC #FF00CC #FF66CC #FFCCCC #9966FF #99CCFF #CC00FF #CC66FF #FF00FF #FF66FF #9999FF #99FFFF #9999CC #99FFCC #999999 #99FF99 #999966 #99FF66 #999933 #99FF33 #999900 #99FF00

#CC33FF #CC33CC #CC3399 #CC3366 #CC3333 #CC3300 #CC99FF #CC99CC #CC9999 #CC9966 #CC9933 #CC9900 #FF33FF #FF99FF #FF33CC #FF99CC #FF3399 #FF9999 #FF3366 #FF9966 #FF3333 #FF9933 #FF3300 #FF9900

#CCCCCC #CCCCFF #CCFFFF #CCFFCC #CCFF99 #CCFF66 #CCFF33 #CCFF00

#FFCCFF #FFFFFF #FFFFCC

#FFFF99 #FFFF66 #FFFF33 #FFFF00

COMPARACIN ENTRE SISTEMAS NUMRICOS La siguiente tabla, muestra los 16 primeros nmeros de cada sistema para su comparacin Sistema decimal 0 1 2 3 4 5 6 7 8 9 10 11 Sistema binario 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 Sistema octal 0 1 2 3 4 5 6 7 10 11 12 13 Sistema hexadecimal 0 1 2 3 4 5 6 7 8 9 A B

Pgina 4 de 21

FICES UNSL Dpto. Ciencias Bsicas rea de Computacin Tecnicatura Universitaria en Informtica Industrial Orientacin Automatizacin Introduccin a la programacin

12 13 14 15

1100 1101 1110 1111

14 15 16 17

C D E F

CONVERSIONES ENTRE SISTEMAS NUMRICOS Veremos a continuacin las conversiones ms importantes entre sistemas de numeracin: Conversin entre binario y decimal Decimal binario

Si la conversin es de binario a decimal, aplicaremos la siguiente regla: se toma la cantidad binaria y se suman las potencias de 2 correspondientes a las posiciones de todos sus dgitos cuyo valor sea 1. Veamos dos ejemplos: 1011112 = 1.2 +0.2 +1.2 +1.2 +1.2 +1.2 = 4710 101012= 1.2 +0.2 +1.2 +0.2 +1.2 = 2110 Podemos utilizar para esta conversin, un sistema de pesos, donde los pesos corresponden a la base elevada a la posicin, es decir desde derecha a izquierda, los pesos valdrn 1, 2, 4, 8, 16, 32, 64, 128, 256, 1024, 2048, 4096., y se debern sumar, nicamente los pesos de los bits que sean uno. Resolvamos nuevamente el ejemplo anterior de esta forma. Pesos Nmero 32 1 16 0 8 1 4 1 2 1 1 1
4 3 2 1 0 5 4 3 2 1 0

Si sumamos ahora los pesos de los bits igual a 1 tenemos 32+8+4+2+1=47 Binario decimal

Si la conversin es de decimal a binario, aplicaremos la siguiente regla: se toma la cantidad decimal dada y se divide sucesivamente entre 2. Los restos obtenidos en cada divisin (0, 1), forman la cantidad binaria pedida, leda desde el ltimo cociente al primer resto. Vemos un ejemplo: N Decimal Base Cociente Resto 1 107 2 53 1 53 2 26 0 26 2 13 1 13 2 6 0 6 2 3 1 1 3 2 10710= 11010112

Pgina 5 de 21

FICES UNSL Dpto. Ciencias Bsicas rea de Computacin Tecnicatura Universitaria en Informtica Industrial Orientacin Automatizacin Introduccin a la programacin

Cuando tengamos un nmero con decimales seguiremos el siguiente procedimiento: multiplicaremos por 2 la parte decimal y se toma como dgito binario su parte entera. El proceso se repite con la fraccin decimal resultante del paso anterior, hasta obtener una fraccin decimal nula, o bien hasta obtener el nmero de cifras binarias que se desee. Ejemplo: 107,645. Como anteriormente convertimos 107 a binario, el resultado de la conversin quedara as: 1101011, 101001012 Fraccin decimal 0,645 0,290 0,580 0.160 0,320 0.64 0.28 0.56 Conversin entre octal y binario Si la conversin es de octal a binario cada cifra se sustituir por su equivalente binario, segn la tabla de comparacin vista con anterioridad. Veamos un ejemplo. 55,358 Resultado: 101 101, 011 1012 Si la conversin es de binario a octal se realiza de modo contrario a la anterior conversin, agrupando los bits enteros y los fraccionarios en grupos de 3 a partir de la coma decimal. Si no se consiguen todos los grupos de tres se aadirn, los ceros que sean necesarios al ltimo grupo, vemoslo con un ejemplo: 11011111,111112 Resultado: 337,76 Observa como ha sido necesario aadir un cero en la ltima agrupacin de la parte entera y otro en la parte fraccionaria para completar los grupos de 3 dgitos. Agrupacin 011 011 111 , 111 110 Conversin entre octal y decimal Si la conversin es de octal a decimal se proceder como observa en el siguiente ejemplo, utilizando el polinomio general: 7408= 7.8 +4.8 +4.8 = 48410 Si la conversin es de decimal a octal se proceder de modo similar a la conversin de decimal a binario, pero dividiendo entre 8. La parte decimal de cada resultado se multiplicar
2 1 0

Multiplicado por: 2 2 2 2 2 2 2 2

Resultado Dgito binario 1,290 0,580 1,160 0,320 0.64 1.28 0.56 1.12 1 0 1 0 0 1 0 1

Equivalente octal 3 3 7 , 7 6

Pgina 6 de 21

FICES UNSL Dpto. Ciencias Bsicas rea de Computacin Tecnicatura Universitaria en Informtica Industrial Orientacin Automatizacin Introduccin a la programacin

por la base (8) y de esa forma se encontrarn los valores octales. La parte entera se vuelve a dividir entre 8, y as sucesivamente. Las primeras cifras encontradas son las de menor peso, y las ltimas las de mayor. A continuacin, se muestra un ejemplo: 48010 = 7408 Decimal /8 Parte Decimal 480 60 0 60 7.5 0.5 7 0.875 0.875 Conversin entre binario y hexadecimal La conversin entre binario y hexadecimal es igual al de la conversin octal y binario, pero teniendo en cuenta los caracteres hexadecimales, ya que los bits se tienen que agrupar de 4 en 4. La conversin de binario a hexadecimal se realiza segn el ejemplo siguiente: supongamos que queremos pasar a hexadecimal el binario 1011111,1100012 Agrupando de a 4 bits obtenemos el siguiente resultado: 0101 1111, 1100 01002 Sustituyendo ahora segn la tabla de comparacin vista, logramos la conversin esperada: 5F, C416 La conversin de hexadecimal a binario se realiza simplemente sustituiremos cada carcter por su equivalente en binario, por ejemplo: 69DE16= 0110 1001 1101 11102 *8 0 4 7

CDIGOS
Se entiende por cdigo una representacin unvoca de las cantidades de tal forma que a cada una de stas, se asigna una combinacin de smbolos determinada y viceversa, con este concepto, vemos claramente que los sistemas de numeracin vistos anteriormente constituyen cdigos. Podemos decir tambin, que un cdigo es un conjunto de smbolos y normas que permiten la representacin de informacin. Gracias a los cdigos es posible que las computadoras (que slo trabajan con datos binarios) puedan procesar informacin que no es numrica. Los cdigos digitales permiten la representacin de nmeros, letras y seales de control usando nicamente bits. Un ejemplo conocido es la clave morse, donde cada letra es representada mediante una secuencia de puntos y rayas. De un modo similar, las antiguas tarjetas perforadas podan contener informacin gracias al cdigo Hollerith, el cual asociaba la posicin de las perforadoras con smbolos alfabticos especficos. Un caso particular de cdigos son los cdigos binarios que utilizan slo dos smbolos ( 0 y 1). Si bien el sistema de numeracin en base dos constituye un cdigo que es conocido como cgido binario natural, existen otros cdigo binarios que representan otra combinacin de ceros y unos para la representacin de los nmeros. Estos cdigos que se muestran en la siguiente tabla, ofrecen algunas caractersticas que los hacen interesantes en la electrnica digital

Pgina 7 de 21

FICES UNSL Dpto. Ciencias Bsicas rea de Computacin Tecnicatura Universitaria en Informtica Industrial Orientacin Automatizacin Introduccin a la programacin

Natural 0 1 2 3 4 5 6 7 8 9 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

AIKEN 0000 0001 0010 0011 0100 1011 1100 1101 1110 1111

BCD EX3 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100

GRAY 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101

Johnson 00000 00001 00011 00111 01111 11111 11110 11100 11000 10000

Cada cdigo tiene su caracterstica que lo hace interesante, por ejemplo, de los cdigos mostrados, el cdigo Aiken es autocomplementario, es decir, la combinacin correspondiente al complemento a 9 de N, es decir (9-N), se obtiene invirtiendo la combinacin correspondiente a N. El cdigo BCD exceso tres tambin es autocomplementario y se obtiene a partir del binario natural mediante un desplazamiento equivalente a N+3. Los cdigos BCD Cdigo Binario en Decimal del ingls Binary-Coded Decimal), representa cada dgito decimal por medio de cuatro dgitos binarios. Se necesitan cuatro bits para representar los diez dgitos, lo que repercute en una mayor cantidad de bits de los que se usan en otros cdigos. El BCD fue utilizado por las primeras computadoras digitales y ahora es til para circuitos electrnicos. EBCDIC ( Binario Extendido para intercambio de Cdigo Decimal ) fue diseado por la IBM, y es una versin ampliada del BCD, y requiere de 8 bits con lo cual puede representar letras y smbolos, a dems de los nmeros. Existen tambin cdigos alfanumricos, de los cuales el mas utilizado es el ASCII (Cdigo de Estndares Americanos para Intercambios de Informacin de su sigla en ingles American Standard Code for Information Interchange) Este cdigo agrupa 7 bits, con los que se representan 96 caracteres y 32 smbolos de control. Es utilizado para el intercambio de informacin entre dispositivos fabricados por diferentes empresas y para transmisin telefnica de datos. La versin extendida del cdigo ASCII utiliza 8 bits para manejar 255 caracteres. Por ejemplo la letra A se representa con la cadena de bits 01000001, cuyo equivalente decimal es 65.

Aritmtica Binaria
ARITMTICA BINARIA
Las operaciones de sumar, restar, multiplicar y dividir en el sistema binario se hacen de igual forma que en decimal, sin embargo, es normal que la electrnica interna de las mquinas digitales solo tenga capacidad para sumar. Otras operaciones diferentes a la suma se consiguen mediante un conjunto de sumas: La resta de dos valores se consigue sumando a uno de los valores el negativo, o el complemento del otro. El producto se hace sumando a s mismo uno de los factores, tantas veces como indique el otro factor. Su eficacia radica en la gran velocidad de clculo de los procesadores, siendo frecuente adems un coprocesador matemtico dedicado solo para operaciones, lo que reduce la carga del procesador central. Por

Pgina 8 de 21

FICES UNSL Dpto. Ciencias Bsicas rea de Computacin Tecnicatura Universitaria en Informtica Industrial Orientacin Automatizacin Introduccin a la programacin

ltimo, una divisin solo es una cuestin de repartir a partes iguales que se puede conseguir por aproximaciones sucesivas. A ttulo informativo se describen a continuacin los 4 tipos de operaciones bsicas pero como ya se ha indicado, solo presenta inters la suma.

SUMA BINARIA La suma binaria, se realiza del mismo modo que la suma decimal, operando desde la columna de la derecha o LSB (bit menos significativo) hasta la columna de la izquierda o MSB (Bit mas significativo). Vemos como sera la tabla de sumas correspondiente a binario.

+ 0 1

0 0 1

1 1 10

En binario, la cifra ms alta es el 1, por lo tanto, cuando en la suma encontramos dos unos resulta 1 + 1 = 10, entonces se deja el 0 y se arrastra el 1 para ser sumado en la columna de la izquierda. Debido al 1 de arrastre pueden juntarse tres unos, con lo que obtenemos 1 + 1 + 1 = 11 luego dejaremos un 1 y arrastramos otro 1 a la izquierda. Vemos un ejemplo:
1 1 1

+ 1

1 1 1

0 1 0

1 1 0

1 0 1

0 0 0

RESTA BINARIA En este caso, al igual que la suma, la resta se realiza en modo similar a la resta en decimal. La tabla de restas es la siguiente: 0 1 0 0 -1 1 1 0

Vemos un ejemplo para restar en binario, queremos restar 11010011 - 01101010. Vemos que en cuarto lugar comenzando por la derecha, encontraremos la resta 0-1, resultando un 1 y un acarreo negativo, o prstamo de 1 tomado de la siguiente columna. En sexto lugar volvemos a encontrar la misma situacin lo que desencadena otro arrastre hasta la ltima posicin izquierda. 1 0 0 1 1 1 0 1 1 1 0 0 0 1 1 0 0 0 1 1 0 1 0 1

Pgina 9 de 21

FICES UNSL Dpto. Ciencias Bsicas rea de Computacin Tecnicatura Universitaria en Informtica Industrial Orientacin Automatizacin Introduccin a la programacin

PRODUCTO BINARIO La multiplicacin es tan sencilla que no se necesita demasiada explicacin. La tabla de multiplicacin es la siguiente: X 0 1 0 0 0 1 0 1

Si sabemos multiplicar en sistema decimal no encontraremos ningn problema para hacerlo en binario. Si el nmero de cifras es grande, es posible que se junten muchos unos en las sumas finales, por ejemplo 5 unos cuya suma binaria es 101, en cuyo caso queda 1, se arrastra un 0 a la izquierda (que no afecta) y se arrastra un 1 dos lugares a la izquierda. Vemos un ejemplo: 1 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 0 1 1 1

x 0 1 0 0

0 1

1 0 0

DIVISIN BINARIA Al igual que el resto de las operaciones, para la divisin binaria se operar del mismo modo que en una divisin decimal. En el ejemplo, se comienza tomando 4 cifras del dividendo para sobrepasar al divisor. As resulta que 1011 entre 111 est de 1 (solo puede ser 1 o 0). 1 por 111 es 111 y falta 100 hasta llegar a 1011. Bajando la siguiente cifra (un 0) resulta que 1000 entre 111 toca a 1. As sucesivamente. 1 0 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0

1 1

1 1 0

LOS COMPLEMENTOS Como dijimos anteriormente, la operacin que tomas mas importancia es la suma, ya que podemos realizar el resto de las operaciones utilizando solo sumas, esto es interesante desde el punto de vista electrnico, ya que si logramos un dispositivo que sea capaz de sumar, podremos resolver con l todas las operaciones. El problema que tenemos que resolver ahora, es la forma de expresar nmeros negativos en el sistema binario, donde nos valemos nicamente de seales que solo pueden

Pgina 10 de 21

FICES UNSL Dpto. Ciencias Bsicas rea de Computacin Tecnicatura Universitaria en Informtica Industrial Orientacin Automatizacin Introduccin a la programacin

ser verdaderas o falsas (1 0). Es cierto que una de las seales podra representar el signo y el resto de las cifras formaran siempre un valor positivo, pero la electrnica del dispositivo sera compleja porque debera ser capaz de restar cuando encontrara el signo menos. Parece imposible, pero los complementos permiten hacer restas mediante sumas y reducen con ello la electrnica de la mquina. Cree por ejemplo que el valor 9279 es igual a 721? Si los valores (en este ejemplo) se manipulan siempre en registros de 4 cifras y todo lo que se salga desaparece, entonces es cierto y lo vamos a analizar: Si hacemos la suma 721 + 9279 se obtiene el valor 10000, pero como se ha dicho, en un registro de 4 cifras solo caben los 4 ceros y el 1 se pierde. Si en el registro solo hay ceros, el resultado hay que considerarlo 0, por lo tanto 721 + 9279 = 0, lo que solo es posible si 9279 es igual a -721. Por supuesto, se puede pensar que se trata de un truco, y lo es, pero esto es lo que funciona realmente en los dispositivos digitales: Cuando introducimos dos valores y los restamos, la mquina transforma uno de los datos de manera que resuelve la resta haciendo una suma. Las reglas para encontrar el complemento en binario son muy simples como veremos, y esto compensa el esfuerzo. En binario tenemos dos tipos de complementos, llamados complemento a la base, o complemento a 2, y complemento a la base disminuida, o base menos uno, o complemento a 1. Complemento a 1 Se denomina "complemento a 1" de un bit a lo que le falta a ese bit para ser "1", es decir, el complemento de "1" es "0" y el de "0" es "1". Por tanto, el complemento a 1 de un nmero binario es el resultado de cambiar sus "unos" por "ceros" y sus "ceros" por "unos". se obtiene invirtiendo el estado de todas sus cifras, incluyendo los ceros a la izquierda hasta completar la capacidad del registro, cuando hablamos de capacidad del registro, significa la cantidad de bits que vamos a utilizar, en general esa cantidad de bits dependen del procesador de la mquina, actualmente 32 en la mayora de los ordenadores y autmatas industriales, sin embargo, podra tener cualquier valor. Vemos un ejemplo, el valor 10011 en un registro de 8 bits (cifras) ser 00010011 y su complemento a 1 ser 11101100. Complemento a 2 El complemento a 2 de un valor binario se obtiene sumando 1 al complemento a 1. Por ejemplo, el complemento a 2 de 10011 (el mismo anterior) ser 11101100 + 1 = 11101101. Cmo restar sumando. Ya sabemos ahora como calcular los complementos, veamos como utilizamos estos complementos para realizar la resta. El complemento a 2 de un nmero binario se puede considerar directamente su equivalente negativo. Por lo tanto, para hacer la resta a - b = x? basta con calcular el resultado "x" (sin olvidar el tamao del registro que se utilice) como: x = a + (complemento a 2 de b) Otra forma de restar sumando consiste en utilizar el complemento a 1, pero en este caso, el 1 de arrastre que se sale fuera del registro se suma de nuevo al resultado, quedando en el registro el resultado esperado de la resta.

Pgina 11 de 21

FICES UNSL Dpto. Ciencias Bsicas rea de Computacin Tecnicatura Universitaria en Informtica Industrial Orientacin Automatizacin Introduccin a la programacin

Nmeros negativos Los mtodos que hemos empleado hasta ahora, sirven para cuando el minuendo es mayor al sustraendo, veamos que pasa, en el caso de una resta donde el resultado es un valor negativo. Supongamos que trabajamos con registros de 8 bits, y que queremos realizar 19-28 en binario (10011 11100). Completamos el registro con 8 bits, (00010011-00011100) complementamos a 2 el segundo valor, y transformamos la resta en una suma. 0 1 1 0 1 1 0 1 1 1 0 1 0 0 0 0 1 1 1 0 1 1 0 1

Se obtiene el nmero "11110111" con un acarreo de "0". El hecho de que el acarreo sea "0" nos indica que el nmero es negativo, y "11110111" es, precisamente, complemento a 2 de "9", es decir, "-9" como era de esperar.

Tablas de Verdad
Estas tablas pueden construirse haciendo una interpretacin de los signos lgicos,, , , , , como: no, y, o, sientonces, s y slo si, respectivamente. La interpretacin corresponde al sentido que estas operaciones tienen dentro del razonamiento. Puede establecerse una correspondencia entre los resultados de estas tablas y la deduccin lgico matemtica. En consecuencia, las tablas de verdad constituyen un mtodo de decisin para chequear si una proposicin es o no un teorema. En el idioma cientfico, una proposicin es un enunciado que puede ser verdadero o falso, generalmente una oracin enunciativa. Cuando decimos si es o no un teorema, es simplemente ver si esa proposicin se cumple. Para la construccin de la tabla se asignar el valor 1(uno) a una proposicin cierta y 0 (cero) a una proposicin falsa. La Tabla de la verdad es una herramienta imprescindible en la recuperacin de datos en las bases de datos como Internet con los motores de bsqueda o en una biblioteca con sus ficheros informatizados. Asimismo se utilizan para programar simulaciones lgicas de inteligencia artificial con lenguajes propios. Tambin en modelos matemticos predictores: meteorologa, marketing y otros muchos.

FUNCIONES DE VERDAD Negacin: El valor de verdad de la negacin es el contrario de la proposicin negada.


P 1 0 P 0 1

Pgina 12 de 21

FICES UNSL Dpto. Ciencias Bsicas rea de Computacin Tecnicatura Universitaria en Informtica Industrial Orientacin Automatizacin Introduccin a la programacin

Disyuncin: La disyuncin solamente es falsa si lo son sus dos componentes.


P 1 1 0 0 Q 1 0 1 0 P Q 1 1 1 0

Conjuncin: Solamente si las componentes de la conjuncin son ciertas, la conjuncin es cierta.


P 1 1 0 0 Q 1 0 1 0 PQ 1 0 0 0

Condicional: El condicional solamente es falso cuando el antecedente es verdadero y el consecuente es falso. De la verdad no se puede seguir la falsedad.
P 1 1 0 0 Q 1 0 1 0 PQ 1 0 1 1

Bicondicional: El bicondicional solamente es cierto si sus componentes tienen el mismo valor de verdad. Se podra definir como p q = ((p q) (q p))
P 1 1 0 0 Q 1 0 1 0 PQ 1 0 0 1

Las tablas nos manifiestan los valores de verdad de cualquier proposicin, as como el anlisis de los mismos, encontrndonos con los siguientes casos: Verdad Indeterminada Se entiende por verdad contingente, o verdad de hecho, aquella proposicin que puede ser verdadera o falsa, segn los valores de las proposiciones que la integran. Sea el caso: A /\ (B \/ C). Su tabla de verdad se construye de la siguiente manera: Ocho filas que responden a los casos posibles que pueden darse segn el valor V o F (verdadero o Falso) (1 0) de cada una de las proposiciones A, B, C. Una columna en la que se establecen los valores de B \/ C segn la definicin del disyuntor.

Pgina 13 de 21

FICES UNSL Dpto. Ciencias Bsicas rea de Computacin Tecnicatura Universitaria en Informtica Industrial Orientacin Automatizacin Introduccin a la programacin

Una columna en la que se establecen los valores de la conjuncin de la columna en la que estn los valores de A con valores de la columna B \/ C, aplicando la definicin del conjuntor a los valores, que representarn los valores de la proposicin completa A /\ (B \/ C).
A V V V V F F F F B V V F F V V F F C B\/C A/\(B\/C) V V V F V V V V V F F F V V F F V F V V F F F F

Donde podemos comprobar cundo y por qu la proposicin A/\(B\/C) es V y cundo es F. Contradiccin Se entiende por proposicin contradictoria, o contradiccin, aquella proposicin que en todos los casos posibles de su tabla de verdad su valor siempre es F. Dicho de otra forma, su valor F no depende de los valores de verdad de las proposiciones que la forman, sino de la forma en que estn establecidas las relaciones de unas con otras. Sea el caso: [(A/\B)/\(A\/B)]/\C Aplicamos la definicin de conjuntor a los valores de A y B. Despus aplicamos la definicin de disyuntor a los valores de A y B. Aplicamos en la columna siguiente el negador a los valores de la columna anterior. Aplicamos el conjuntor a los valores de la columna (A/\B) con los de la columna (A\/B). Por ltimo aplicamos el conjuntor a los valores de la columna de C con la columna ltima cuyo resultado nos da los valores de [(A/\B)/\(A\/B)]/\C
A V V V V F F F F B V V F F V V F F C A/\B A\/B (A\/B) (A/\B)/\(A\/B) [(A/\B)/\(A\/B)]/\C V V V F F F F V V F F F V F V F F F F F V F F F V F V F F F F F V F F F V F F V F F F F F V F F

Tautologas Se entiende por proposicin tautolgica, o tautologa, aquella proposicin que en todos los casos posibles de su tabla de verdad su valor siempre es V. Dicho de otra forma, su valor V no depende de los valores de verdad de las proposiciones que la forman, sino de la forma en que estn establecidas las relaciones de unas con otras. Sea el caso: [(AB)/\(BC)] (AC) Siguiendo la mecnica algortmica de la tabla anterior construiremos su tabla de verdad:
A V V V B V V F C A B B C (A B)/\(B C) (A C) [(A B)/\(B C)] (A C) V V V V V V V F V F F F V V F V F V

Pgina 14 de 21

FICES UNSL Dpto. Ciencias Bsicas rea de Computacin Tecnicatura Universitaria en Informtica Industrial Orientacin Automatizacin Introduccin a la programacin V F F F F F V V F F F V F V F F V V V V V V F V V F V F V V F V V V V V V V V V

Algebra de boole
INTRODUCCIN
George Boole cre el lgebra que lleva su nombre en el primer cuarto del siglo XIX. Pretenda explicar las leyes fundamentales de aquellas operaciones de la mente humana por las que se rigen los razonamientos. Como veremos, lo que en el lgebra convencional son las sumas y multiplicaciones, se realizarn mediante relaciones lgicas. Las variables con las que opera son las binarias 1 y 0 (verdadero o falso), las cuales no expresan cantidades, sino estados de las variables. Podemos decir, que el sistema de numeracin binario y el lgebra de Boole constituyen la base matemtica para el diseo y construccin de sistemas digitales. Se define Funcin Lgica a toda variable binaria cuyo valor depende de una expresin formada por otras variables binarias relacionadas mediante los signos + y x. Por ejemplo: S=(a.b)+b.c. Siendo S la funcin, mientras que a, b y c son las variables. Esta funcin la leeramos de la siguiente forma: si a y b o b y c son verdaderas la funcin lgica S es verdadera. Mediante contactos podramos explicar o aclarar la funcin lgica.

Tablas de verdad.- A travs de las tablas de verdad se puede conocer tericamente el comportamiento de las funciones lgicas, en funcin de los niveles que se aplican a la entrada. Ms adelante veremos como adems nos van a servir para disear circuitos digitales.

FUNCIONES BSICAS BOOLEANAS


Existen cuatro funciones booleandas bsicas, ellas son igualdad, union o funcin O, interseccin o funcin Y y negacin o funcin NO, estas funciones se pueden encontrar en la literatura por sus equivalentes en ingles OR, AND, NOR. A continuacin se detallan cada una con su correspondiente tabla de verdad.

Pgina 15 de 21

FICES UNSL Dpto. Ciencias Bsicas rea de Computacin Tecnicatura Universitaria en Informtica Industrial Orientacin Automatizacin Introduccin a la programacin

Igualdad Esta funcin es la ms sencilla de todas, y establece simplemente que si una funcin lgica S es igual a una variable a, le valor de la funcin ser exactamente el valor de a a continuacin vemos la expresin simblica, su tabla de verdad y el circuito equivalente. a 0 1 S 0 1

S=a

Unin (funcin = O) La funcin unin, O u OR, se la conoce tambin como funcin suma, la lectura sera si a b entonces S. Supongamos un ejemplo de la vida cotidiana, si la variable a es la variable llueve, y la variable b es la variable hace frio se podra definir la funcin S como la funcin usar campera, entonces vemos que podramos enunciar la funcin de esta forma: si llueve o hace frio, entonces usamos campera. Es decir, que usamos campera, en los casos en que una u otra variable sea verdadera. Vemos la simbologa, su tabla de verdad y el circuito equivalente: a 0 0 1 1 b 0 1 0 1 S 0 1 1 1

S = a+b

Interseccin (funcin Y) Esta funcin tambin conocida como AND, solo ser verdadera si son verdaderas las dos variables interviniente. Por ejemplo Si llueve y No tengo auto entonces uso paraguas. Vemos que solo usamos paraguas si se cumplen ambas cosas, llueve y estoy sin auto. Observemos las simbologa tabla de verdad y circuito equivalente. a 0 0 1 1 b 0 1 0 1 S 0 0 0 1

S = a.b

d) Negacin (funcin NO) Tambin denomina funcin complemento, simplemente, esta funcin invierte el valor de la variable. a 0 1 S 1 0

S =a

POSTULADOS DEL LGEBRA DE BOOLE

Pgina 16 de 21

FICES UNSL Dpto. Ciencias Bsicas rea de Computacin Tecnicatura Universitaria en Informtica Industrial Orientacin Automatizacin Introduccin a la programacin

A continuacin se detallan los 4 postulados bsicos de toda algebra de boole, con los cuales se puede operar para simplificar funciones lgicas. a) Las operaciones del lgebra de Boole son conmutativas, es decir que si a y b son variables o elementos del lgebra se cumplir que: a+b=b+a a.b=b.a Vemos la analogia de circuitos.

a+b

b+a

a.b

b.a

b) Dentro del lgebra existen dos elementos neutros, el 0 y el 1, que cumplen la propiedad de identidad Identidad con respecto a cada una de dichas operaciones. 0+a=a 1.a=a

c) Cada operacin es distributiva respecto de la otra: a . (b + c) = a . b + a . c a + b . c = (a + b) . (a + c)

a . (b + c )

a.b+a.c

Pgina 17 de 21

FICES UNSL Dpto. Ciencias Bsicas rea de Computacin Tecnicatura Universitaria en Informtica Industrial Orientacin Automatizacin Introduccin a la programacin

a + (b . c)

(a + b) . (a + c)

d) Para cada elemento "a" existe un elemento complementario, a . Este postulado define realmente una nueva operacin fundamental que es la inversin o complementacin de una variable. Sobre la base de esto se comprueba que:

a + a =1 aa = 0
a=a

a + b + c = a bc a b c = a + b + c

a + a =1

aa = 0

TEOREMAS DEL LGEBRA DE BOOLE


Basndose en los postulados anteriores se deducen los teoremas que expondremos seguidamente. Su demostracin se puede realizar algebraicamente o mediante la tabla de verdad. Recordemos que la tabla de verdad de una expresin algebraica binaria representa los valores que dicha expresin puede tomar para cada combinacin de estados de las variables que forman parte de la misma, por lo tanto, dos expresiones algebraicas que tienen la misma tabla de verdad son equivalentes. Teorema 1: Cada identidad deducida de los anteriores postulados del algebra de Boole permanece vlida si la operacin + y . Y los elementos 0 y 1 se intercambian entre si. Este principio, llamado de dualidad, se deduce inmediatamente de la simetra de los cuatro postulados con respecto a ambas operaciones y a ambos elementos neutros. Teorema 2: Para cada elemento a de un lgebra de boole, se verifica que a+1=1 y que a.0=0

Pgina 18 de 21

FICES UNSL Dpto. Ciencias Bsicas rea de Computacin Tecnicatura Universitaria en Informtica Industrial Orientacin Automatizacin Introduccin a la programacin

a+1=1 Teorema 3:

a.0=0

Para cada elemento de a se verifica que a+a=a y a.a=a

a+a=a

a.a=a Teorema 4: Para cada par de elementos de un lgebra de Boole a y b, se verifica que a+ab=a y que a(a+b)=a

a+a.b=a

a.(a+b)=a Teorema 5: En un lgebra de Boole las operaciones suma y producto son asociativas: a+(b+c)=(a+b)+c=a+b+c a(bc)=(ab)c=abc Teorema 6 Para todo elemento a se verifica que: a = a Teorema 7: Leyes de De Morgan Se verifica que:

Pgina 19 de 21

FICES UNSL Dpto. Ciencias Bsicas rea de Computacin Tecnicatura Universitaria en Informtica Industrial Orientacin Automatizacin Introduccin a la programacin

a + b + c + d + ... = a b c d ... abcd = a + b + c + d


Este teorema define realmente dos nuevas funciones lgicas de gran importancia la funcin NO-O o NOR y la funcin NO-Y o NAND las cuales son muy utilizadas en electrnica digital.

FORMAS CANNICAS DE UNA FUNCIN


Mediante la utilizacin de las proposiciones elementales, las leyes y teoremas de De Morgan es posible siempre llevar cualquier funcin lgica a una forma tpica preestablecida. Existen dos formas totalmente generales que permiten analizar cualquier problema y que se denominan Formas Cannicas. Estas dos formas cannicas se denominan FORMA MINTERMA y FORMA MAXTERMA y cada una de ellas estn formadas respectivamente por MINTERMOS y TERMOS. Veamos las definiciones MINTERMO: Es un producto lgico (AND) en el cual figuran solo una vez todas las varibles lgicas del problema, en forma directa o negada. MAXTERMO: Es una suma lgica (OR) en la cual figuran solo una vez todas las variables lgicas del problema en forma directa o negada. FORMA MINTERMA: es una forma cannica de una funcin particular, formada por la suma lgica (OR) de todos los mintermos que satifacen dicha funcin. FORMA MAXTERMA forma cannica de una funcin particular, formada por el producto lgico (AND) de todos los maxtermos que satifacen dicha funcin.

OBTENCIN DE FUNCIONES POR LA TABLA DE VERDAD


Como vimos la tabla de verdad de una funcin lgica es una forma de representacin de la misma, es decir que existe una relacin biunvoca entre al tabla de verdad y la expresin de una funcin, vemos por ejemplo como encontrar una funcin lgica a travs de su tabla de verdad. Supongamos que tenemos la siguiente tabla de verdad: a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 F 0 1 1 0 1 1 1 1

0 1 2 3 4 5 6 7

De la tabla de verdad de una funcin lgica, es fcil deducir las formas cannicas de la funcin. As pues, si queremos que la funcin F de nuestro ejemplo est expresada como suma

Pgina 20 de 21

FICES UNSL Dpto. Ciencias Bsicas rea de Computacin Tecnicatura Universitaria en Informtica Industrial Orientacin Automatizacin Introduccin a la programacin

de productos cannicos deberemos asegurarnos que para cada una de las combinaciones de la tabla de verdad en que la funcin valga 1 obligaremos a que el trmino cannico valga tambin 1. Por ejemplo para la combinacin a=0 b=0 y c=1 de la tabla de verdad vemos que la funcin vale 1 as pues nuestro trmino cannico ser

a .b .c .

Observemos que el trmino a .b .c vale 1 para la combinacin 0 0 1 y slo para esa combinacin, cualquier otra hara que nuestro producto cannico sea 0. Construyendo la funcin con todos sus trminos llegaremos a la conclusin que para: La combinacin 010 el trmino ser a .b.c La combinacin 100 el trmino ser a.b .c La combinacin 101 el trmino ser a.b .c La combinacin 110 el trmino ser a.b.c La combinacin 111 el trmino ser a.b.c

Con lo que la funcin F correspondiente a la tabla de verdad anterior ser: F = a .b .c + a .b.c + a.b .c + a.b .c + a.b.c + a.b.c Observemos que tenemos 6 trminos que se corresponden con los seis 1 de la funcin. Otra forma de expresarla es F = S ( 1, 2, 4, 5, 6, 7 ) donde S significa suma y en general se suele representar como S3 para indicar que est formada por 3 bits. F = Sumatoria de trminos cannicos en que la funcin vale 1 Tambin podemos recurrir a realizar la funcin como producto de sumas cannicas, en este caso nos fijaremos en los 0 de la funcin y as para la combinacin 000 y 011 nuestra funcin vale 0. Por tanto el trmino correspondiente a la combinacin 000 ser a + b + c , y observamos que este trmino slo vale 0 para la combinacin 000 y para cualquier otra vale 1.Del mismo modo para la combinacin 011 el trmino ser a + b + c y observamos tambin que este trmino slo vale 0 para la combinacin 011, cualquier otra har que dicho trmino valga 1. Nuestra funcin expresada como producto de sumas cannicas nos quedar: F = ( a + b + c )x( a + b

+c )

Observemos que tenemos 2 trminos que corresponden con los dos 0 de la funcin. Otra forma de expresarla es F = P ( 0, 3 ) donde P significa producto, y tambin suele representarse con un subndice la cantidad de bits, al igual que en el caso de la suma. F = Producto de trminos cannicos en que la funcin vale 0.

Pgina 21 de 21

Вам также может понравиться