INSTITUTO TECNOLOGICO NACIONAL DE MEXICO INSTITUTO TECNOLOGICO DE VERACRUZ
ENSAYO
MATEMATICAS DISCRETAS
Ramón Angel Diaz Wong Brando Manuel Serrano Mendoza
ALGORITMO DE BOOTH
INTRODUCCION Fue diseñado por Andrew Donald Booth en 1950. Este algoritmo se diseñó para que pudiera multiplicar dos números binarios con signo en la notación de complementos de dos. El algoritmo es a menudo descrito como convertir secuencias de 1s en el multiplicador con un +1 de orden alto y un -1 de orden inferior en los extremos de la secuencia. Cuando una secuencia corre por el most significant bit (MSB), no hay +1 de orden alto, y el efecto neto es la interpretación como un negativo de valor apropiado. DESARROLLO Con el algoritmo de Booth además de que es muy rápido y sencillo con el cual podemos obtener dicho productos de dos números binarios con signo en notación complemento a dos. Como ya sabemos un número binario está formado por dos números (0 y 1). El cual podemos pasar a decimal de una forma sencilla.
Como ya sabemos la posición década bits es 2^n (elevado a n) el cual partimos de n=0 de derecha a izquierda, realizando la suma total de multiplicar por el bit, 0·27+1·26+0·25+1·24+0·23+1·22+1·21+0·20 = 86.
También debemos saber que el complemento a uno de un número binario es cambiar sus ceros por unos, y sus unos por ceros (complementar): (010010 -> ca1: 101101) y que el complemento a dos de un número binario es el resultado de sumar 1 al complemento a uno de dicho número binario (NOTA: En el Ca1 sólo se complementa si el número es negativo):
Realizar una suma con dos números binarios es tarea fácil, pero la multiplicación resulta algo más complicada. Con el algoritmo de Booth, resulta mucho más sencillo de implementar. Partimos del ejemplo de la multiplicación 6·2=12:
Como podemos observar en dicha imagen, los números binarios de la multiplicación 6x2 (multiplicando y multiplicador) se crearon 3 nuevos números binarios del doble del tamaño, (16 en el ejemplo): A, S y P. Iniciando del número p (producto) comenzamos a comparar los últimos 2 bits de la derecha, siguiendo los casos del recuadro:
Se realizará esta comparación 8 veces en este ejemplo (número de bits de los operandos) y al final de cada comparación, realizamos un desplazamiento de un bit hacia la derecha, manteniendo el último bit de la izquierda, y descartando el último bit del lado contrario. Si hacemos una traza paso a paso nos quedarían los siguientes resultados:
Finalmente obtenemos el número en binario resultante (12 en este ejemplo), descartando el bit extra que hemos añadido al principio del procedimiento y que se encuentra en el extremo a la derecha. Ejemplos: *Multiplicar: 3x2 A=3=011 S=-3=101 P=010 P=
000 0100
P=
000 0010
+S= 101 0000 101 0010 P=
110 1001
+A= 011 0000 0011001 0001100
3x2=6=1102
P=
000 0100
P=
000 0010
+S= 101 0000 101 0010 P=
111 0001
+A= 010 0000 001 0001 000 1000
2x2=4=1002
CONCLUSION: El algoritmo de Booth nos permite realizar multiplicaciones en binario con un rango menor de equivocación, este algoritmo cuenta mucho los bits que se utilizaran dependiendo de la “S” cantidades que se deseen realizar y dichos números que queden en la parte izquierda nos hará saber si tendremos que hacer un desplazamiento u operación.
APLICACIÓN DE SISTEMAS NUMERICOS INTRODUCCION
Los sistemas numéricos son símbolos que sirven para representar cantidades, en la rama de la computación estos sistemas se usan para mediante ellos acortar instrucciones por así decirlo atajos con los cuales nos ahorramos un proceso largo abreviando esto en simples dígitos. Para la computación solamente existen 4 los cuales están en bases, la base 2 que son los números binarios, la base 8 que son los números octales, la base 10 llamado decimal, y el 16 o hexadecimal, sin ellos la computación tal cual la conocemos no sería posible. DESARROLLO Los números binarios son los fundadores de todo esto ya que podríamos decir que es el idioma natal de las computadoras, su representación es 1 y 0, se considera el idioma nativo porque es de bajo nivel significa que trabaja directamente con el voltaje un 1 significa que hay corriente y el 0 significa que no hay, de esta manera representamos todos los datos que usamos en la computadora, estos datos reciben el nombre de bits y es la base de este tipo de sistemas, los bits se agrupan en grupos de 8 y es en donde entra el siguiente sistema Números octales utilizan los números del 0 al 7 como base, sin embargo una computadora no puede trabajar con el sistema octal como tal, sino que utiliza su conversión en sistema binario, usando tres bits para cada digito octal por tener una base que es potencia exacta de 2 o de la numeración binaria. Esta característica hace que la conversión a binario o viceversa sea bastante simple. Es utilizado como una forma abreviada de representar números binarios que emplean caracteres de seis bits. Cada tres bits (medio carácter) es convertido en un único dígito octal. Números Decimales utilizan los números del 0 al 9 como base, sistemas de numeración adaptados al método de trabajo como el binario o el hexadecimal. También pueden existir en algunos idiomas vestigios del uso de otros sistemas de numeración, como el quinario, el duodecimal y el vigesimal. Por ejemplo, cuando se cuentan artículos por docenas, o cuando se emplean palabras especiales para designar ciertos números (en francés, por ejemplo, el número 80 se expresa como "cuatro veintenas"). En computación se ocupa para expresar magnitudes o cantidades, expresando dinero, peso, longitud, temperatura, superficies, etc.
Numero Hexadecimales utilizan los numero del 0 al 15 utilizando después del 9 letras entonces este sistema quedaría de la siguiente manera (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F) Actualmente es de los sistemas con más aplicaciones ya que las computadoras trabajan con bits agrupados con 8 dígitos y al ser más exigentes las computadoras y los programas funcionan con múltiplos de 8 como 16,32,etc. Por eso el sistema con base 16 es un estándar. Conclusión Los sistemas de numeración son lo que hacen posible la interacción de los sistemas con los usuarios ya que si al principio de la computación si se interactuaba mediante 1 y 0 esto con el paso de los años y las necesidades tan exigentes fueron evolucionando y encontrando nuevas maneras para hacer posible la comunicación fluida y rápida así como la representación de los datos, en los tiempos en la que la computación dejo de ser para expertos y paso a usuarios comunes fue necesaria la incorporación de estos sistemas. Referencias: http://www.academia.edu/8607641/APLICACIONES_DE_LOS_SISTEMAS_DE_NUM ERACION_EN_LA_COMPUTACION https://es.scribd.com/doc/73538913/Aplicacion-de-los-Sistemas-Numericos-enla-Computacion http://www.emezeta.com/articulos/multiplicacion-algoritmo-debooth#ixzz2LI3u2Xo1 http://circuitositc.files.wordpress.com/2008/05/algoritmo-de-booth.pdf http://es.wikipedia.org/wiki/Algoritmo_de_Booth