INSTITUTO TECNOLOGICO DE TAPACHULA
Catedrático: ING. MUÑOZ LÓPEZ ROSEL
Materia: MATEMÁTICAS DISCRETAS
Integrantes: AGUIRRE BRAVO VICTOR MANUEL CRUZ CHÁVEZ GUILLERMO ARMANDO REYES OVANDO CLEIBER RAUL
1° SEMESTRE C UNIDAD 1
SISTEMAS NUMERICOS
CARRERA: ING. EN SISTEMAS COMPUTACIONALES
TAPACHULA DE CÓRDOVA Y ORDÓÑEZ A 9 DE SEPTIEMBRE DEL 2015 1
INDICE Pág. Introducción……………………………………………………
lV
Sistemas numéricos………………………………….. V Sistema binario………………………………………………… V Sistema Octal…………………………………………………..
V
Sistema Decimal……………………………………………….
Vl
Sistema Hexadecimal………………………………………….. Vl
Conversión entre sistemas decimal……………...….. Vll Conversión Decimal – Binario............................................... Vll Conversión Binario – Decimal………………………………… Vlll Conversión Decimal – Octal................................................... lX Conversión Octal – Decimal................................................... X Conversión Decimal – Hexadecimal...................................... Xl Conversión de Fracción Decimal – Hexadecimal.................. Xl Conversión Hexadecimal – Decimal………………………..... Xll Conversión Hexadecimal – Binario………………………..….
Xll
Conversión Octal – Binario……………………………………. Xlll
2
Algoritmo de Booth Para Multiplicación…………………….. XlV Y División en binario División de números binarios………………………………… XV Aplicación de los sistemas numéricos en……………..……. XVl la computación Anexos…………………………………………………….…… XVll - XXlll Conclusión……………………………………………………… XXlV Bibliografía……………………………………………………..
XXV
3
INTRODUCCION Se impartió esta unidad con el fin de conocer los sistemas numéricos, así también sus conversiones. Por ende dicha unidad se investigó para conocer su clasificación de los números como lo son: “binario, decimal, octal y hexadecimal”. De tal manera que se debe conocer sus operaciones básicas. Para su aplicación en la carrera. También implementamos el algoritmo de booth; uno de los grandes métodos que facilita realizar las operaciones como “división y multiplicación”, solo con los números binarios, dichos algoritmos proporcionan gran probabilidad de que no cometamos errores en las operaciones para obtener un resultado exacto. Los temas mencionados son aportes que sin duda alguna es de gran importancia en la carrera de ingeniería en sistemas computacionales, como alumnos se tendrá en cuenta cada punto establecido en práctica.
4
1.1
SISTEMAS NUMERICOS
Un sistema numérico son un conjunto de símbolos y reglas que se utilizan para representar datos numéricos o cantidades. Se caracterizan por su base que indican el número de símbolos distinto que utiliza y además es el coeficiente que determina cual es el valor de cada símbolo dependiendo de la posición que ocupe. Estas cantidades se caracterizan por tener dígitos enteros y fraccionarios. Si aj indica cualquier dígito de la cifra, b la base del sistema de numeración y además de esto la cantidad de dígitos enteros y fraccionarios son n y k respectivamente, entonces el número representado en cualquier base se puede expresar de la siguiente forma: Nb = [an-1.an-2.an-3..........a3.a2.a1.a0, a-1.a-2.a-3.......a-k]b Dónde: j = {n-1, n-2,.........2, 1, 0,-1, -2,......, -k} y n + k indica la cantidad de dígitos de la cifra. Por ejemplo, el número 31221, 324 en base cuatro tiene n=5 y k=2 con la parte entera: an-1=a4=3; a3=1; a2=2; a1=2; a0=1 y parte fraccionaria a-1=3; a-2=2
Sistema Binario Es el sistema que utiliza internamente el hardware de las computadoras actuales, se basa en la representación de cantidades utilizando los dígitos 1 y 0. Por tanto su base es 2 (número de dígitos del sistema). Cada dígito de un número en este sistema se denomina bit (contracción de binary digit). Se puede utilizar con nombre propio determinados conjuntos de dígitos en binario. Cuatro bits se denominan cuaterno (ejemplo: 1001), ocho bits octeto o byte (ejemplo: 10010110), al conjunto de 1024 bytes se le llama Kilobyte o simplemente K, 1024 Kilobytes forman un megabyte y 1024 megabytes se denominan Gigabytes.
Sistema Octal El sistema numérico octal utiliza ocho símbolos o dígitos para representar cantidades y cifras numéricas. Los dígitos son: {0, 1, 2, 3, 4, 5, 6, 7}; la base de éste es ocho (8) y es un sistema que se puede convertir directamente en binario como se verá más adelante.
5
Sistema Decimal Este es el sistema que manejamos cotidianamente, está formado por diez símbolos {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} por lo tanto la base del sistema es diez (10).
Sistema Hexadecimal Sistema numérico hexadecimal utiliza dieciséis dígitos y letras para representar cantidades y cifras numéricas. Los símbolos son: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}; la base del sistema es dieciséis (16). También se puede convertir directamente en binario como se verá más adelante. En la tabla 1.1 se muestran los primeros veintiuno números decimales con su respectiva equivalencia binaria, octal y hexadecimal.
6
1.2 Conversiones entre sistemas numéricos
CONVERSIÓN DECIMAL-BINARIO: Los métodos más conocidos son:
Divisiones sucesivas entre 2: Consiste en dividir sucesivamente el número decimal y los cocientes que se van obteniendo entre 2, hasta que una de las divisiones se haga 0. La unión de todos los restos obtenidos escritos en orden inverso, nos proporcionan el número inicial expresado en el sistema binario. Ej.: 10 2 0 5
2
1
2
2
0
1
2
1
0
10(10)=1010(2)
Multiplicación sucesiva por 2:
Se utiliza para convertir una fracción decimal a binario, consiste en multiplicar dicha fracción por 2, obteniendo en la parte entera del resultado el primero de los dígitos binarios de la fracción binaria que buscamos. A continuación repetimos el mismo proceso con la parte fraccionaria del resultado anterior, obteniendo en la parte entera del nuevo resultado el segundo de los dígitos buscados. Iteramos sucesivamente de esta forma, hasta que desaparezca la parte fraccionaria o hasta que tengamos los suficientes dígitos binarios que nos permitan no sobrepasar un determinado error. Ejemplo: Convertir la fracción decimal 0.0828125 en fracciones binarias 7
0.828125 x 2 = 1.656250 0.656250 x 2 = 1.31250 0.31250 x 2 = 0.6250 0.6250
x 2 = 1.250
0.250
x 2 = 0.50
0.50
x 2 = 1.0
0.82812510à 0.1101012
Métodos de las restas sucesivas de las potencias de 2: Consiste en tomar el número a convertir y buscar la potencia de 2 más grande que se pueda restar de dicho número, tomando como nuevo número para seguir el proceso el resultado de la resta. Se repiten las mismas operaciones hasta que el número resultante en una de las restas es 0 o inferior al error que deseamos cometer en la conversión. El numero binario resultante será un uno (1) en las posiciones correspondientes a las potencias restadas y un cero (0) en las que no se han podido restar. Ej. Convertir el número decimal 1994 a binario. Posición 210 Valor Digito
29
28
27
26 25 24 23 22 21 20
1024 512 256 128 64 32 16 1
1
1
1
1
0
0
8
4
2
1
1
0
1
0
1994 - 1024 = 970 970
- 512 = 458
8
458
- 256 = 202
202
- 128 =
74
74
-
64
=
10
10
-
8
=
2
Resp: 199410à 111110010102
Conversión de binario a decimal:
El método consiste en reescribir él número binario en posición vertical de tal forma que la parte de la derecha quede en la zona superior y la parte izquierda quede en la zona inferior. Se repetirá el siguiente proceso para cada uno de los dígitos comenzados por el inferior: Se coloca en orden descendente la potencia de 2 desde el cero hasta n, donde el mismo el tamaño del número binario, el siguiente ejemplo ilustra de la siguiente manera. Utilizando el teorema fundamental de la numeración tenemos que 1001.1es igual a:
Conversión de Decimal a Octal:
Consiste en dividir un número y sus sucesivos cocientes obtenidos por ocho hasta llegar a una división cuyo cociente sea 0. El numero Octal buscado es el compuesto por todos los restos obtenidos escritos en orden inverso a su obtención. Ej.: 1992 8 39
249 8
72
09 31 8
0
1
7 3
1000(10)=3710(8) 9
Conversión de una Fracción Decimal a una Octal: Se toma la fracción decimal y se multiplica por 8, obteniendo en la parte entera del resultado el primer dígito de la fracción octal resultante y se repite el proceso con la parte decimal del resultado para obtener el segundo dígito y sucesivos. El proceso termina cuando desaparece la parte fraccionaria del resultado o dicha parte fraccionaria es inferior al error máximo que deseamos obtener. Ej. : 0.140625*8=1.125 0.125*8=1.0 0.140625(10)=0.11(8)
Conversión Octal a Decimal:
Existen varios métodos siendo el más generalizado el indicado por el TFN (Teorema fundamental de la numeración) que hace la conversión de forma directa por medio de la formula. Ej. : utilizando el teorema fundamental de la numeración tenemos que 4701 es igual a:
Conversión Decimal Hexadecimal: Se divide el número decimal y los cocientes sucesivos por 16 hasta obtener un cociente igual a 0. El número hexadecimal buscado será compuesto por todos los restos obtenidos en orden inverso a su obtención. Ej.: 1000 16 40
62 16
8
14 3
1000(10)=3E8(16)
10
Conversión de Fracción Decimal a Hexadecimal: A la fracción decimal se multiplica por 16, obteniendo en la parte entera del resultado el primer dígito de la fracción hexadecimal buscada, y se repite el proceso con la parte fraccionaria de este resultado. El proceso se acaba cuando la parte fraccionaria desaparece o hemos obtenido un número de dígitos que nos permita no sobrepasar el máximo error que deseemos obtener.Ej.: Pasar a hexadecimal la fracción decimal 0.06640625 0.06640625*16=1.0625 0.0625*16 = 1.0 Luego 0.06640625 (10)=0.11 (16)
Conversión Hexadecimal Decimal: El método más utilizado es el TFN que nos da el resultado por la aplicación directa de la formula. Ej. : utilizando el teorema fundamental de la numeración tenemos que 2CA es igual a:
Conversión de hexadecimal a binario: Para convertir un número hexadecimal a binario, se sustituye cada dígito hexadecimal por su representación binaria según la siguiente tabla. Dígito Hexadecimal
Dígito Binarios
0
0000
1
0001
2
0010
3
0011
4
0100
5
0101
6
0110
7
0111
8
1000
11
9
1001
A
1010
B
1011
C
1100
D
1101
E
1110
F
1111 Ej.: pasar el número 2BC a binario
2
B
C
0010 1011 1100 Finalmente él número hexadecimal en binario es igual a: 001010111100
Conversión de Octal a Binario: Para convertir un numero octal a binario se sustituye cada dígito octal en por sus correspondientes tres dígitos binarios según la siguiente tabla. Dígito Octal Dígito Binario 0
000
1
001
2
010
3
011
4
100
5
101
6
110
7
111
Ej.: Convertir el número octal 1274 en binario. 1
2
7
4
001 010 111 100 Por lo tanto el número octal en binario es igual a: 001010111100 12
1.3 Operaciones Básicas (Suma, Resta, Multiplicación, División)
BINARIO A DECIMAL 1010 =
110 (10
(2
1X10+0X10+1X10+0X10 100+0+10+0 R=110
DECIMAL A BINARIO 426
=
1000000110
(10
426 263 131 65 32 16 8 4 2 1
(2
2 0 1 1 0 0 0 0 0 0
BINARIO A OCTAL 110110 (2
=
55 (8
110
5
110
5
13
OCTAL A BINARIO 2
6
8
= 00101101000
268 (8
(2
0010
0110
1000
BINARIO A HEXADECIMAL =
1011111101
17B
(2
(16
0010 111 1101
1
7
B
HEXADECIMAL A BINARIO 7 A8B
=
0111 101 1000 1011 (2
(16
7 0111
A 1010
8
B
1000
1011
14
OCTAL A DECIMAL 4674
=
(SE MULTIPLICA POR LA CIFRA DEL NUMERADOR DEL OCTAL)
2,505
(8
(10
4X8+6X8+7X8+4X8 2048+384+ 72 +1 …… ….. R= 2,505 DECIMAL A OCTAL 2424
=
4570 (8
(10
(SE DIVIDE EL NUM. DECIMAL ENTRE 8)
24248 303 0 37 7 4 5
HEXADECIMAL A OCTAL 6A8C (16
= 152414 (8
1
6
A
0110
1010
5
2
8
C
1000
4
1100
1
4
15
OCTAL A HEXADECIMAL 1062714 = A627E (8
(16
10
6
A
6
2
2
7
7
14
E
DECIMAL A HEXADECIMAL 2673
= (10
A73 (16
( SE DIVIDE EL NUMERO DEL DECIMAL ENTRE 16)
2673 16 167 3 10 7
HEXADECIMAL A DECIMAL A73 2673 = (16 (10 10X16+7X16+3X16 2556 +112+3 … … R=2673 16
Multiplicación
Binaria: 1 1 0 1 1 X 1 0 1 11011 00000 11011 10000111
Octales:
354 X 23 1304 730 10604
Decimal: 385 X 17 2695 385 6545
17
Hexadecimal:
4B2 X 23 E16 G6 4
A4 5 6
Suma Binaria:.
10101 +1 1 1 0 1 110010
Resta de binaria:
10101101 -1 1 1 0 1 1 0 0 11000001 Suma de octal: 6434 +348 6704
18
Resta de Octal: 5689 -596 5073
Suma de hexadecimal A4FC9 +FF217 1A41E0
Resta de hexadecimal FFFF F -00DE8 FF217
19
1.4 Algoritmo de Booth para la multiplicación y división en binario: Es un método rápido y sencillo para obtener el producto de dos números binarios con signo en notación complemento a dos. Complemento a1 Para obtener el complemento a uno del numero en binario solo consta en cambiar sus ceros por unos, y sus unos por ceros (complementar): (010010 -> ca1:101101). Complemento a2 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): mi número en decimal es 86. Realizar una multiplicación con el algoritmo de Booth, resulta mucho más sencillo de implementar. Partimos del ejemplo de la multiplicación 6·2=12: 1º Obtengo mis números (multiplicando y multiplicador) en binario con longitud de 8 bits 2º asigno A= multiplicando, S= Complemento a2 de A, P= 8 bits en 0. Agrego 7 bits extras a la derecha de A y S, en P agrego el valor de multiplicador con longitud de 8 bits y un bit extra con valor 0. Como se indica a continuación: Como se puede ver en la imagen superior, partiendo de los números binarios de la multiplicación 6·2 (multiplicando y multiplicador) creamos tres nuevos números binarios del doble de tamaño (16 en el ejemplo): A, S y P.
3o Partiendo del número P (producto) comenzamos a comparar los últimos 2 bits de la derecha, siguiendo los casos base del recuadro: 0 0 1 1
0 No hacer nada 1P=P+A 0 P=P+S 1 No hacer nada
Se realizará esta comparación 8 veces en este ejemplo (número de bits de los operados) 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:
20
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
El algoritmo del producto en binario es igual que en números decimales; aunque se lleva a cabo con más sencillez, ya que el 0 multiplicado por cualquier número da 0, y el 1 es el elemento neutro del producto. Por ejemplo, multipliquemos 10110 por 1001: 10110 X 1001 10110 00000 00000 10110 11000110
División de números binarios La división en binario es similar al decimal; la única diferencia es que a la hora de hacer las restas, dentro de la división, éstas deben ser realizadas en binario.
Ejemplo de división binaria: Dividir 100010010 (274) entre 1101 (13): 100010010 |1101 -0000 010101 10001 -1101 01000 - 0000 10000 - 1101 00011 - 0000 01110 - 1101 00001
21
1.5 Aplicación de los Sistemas Numéricos en la Computación Existe una cantidad infinita de sistemas numéricos, sin embargo, para una computadora, únicamente existen 4, que son el Binario (con base 2), el octal (con base 8), el decimal (base 10) y hexadecimal (base 16). Detallaremos el uso década uno de ellos por la computadora. Comenzaremos por el Binario, por ser el sistema base de la computación y el único entendido de manera nativa por una computadora, es el sistema en el que está escrita toda instrucción, dato, etc. Está compuesto por dos únicos dígitos que1 y 0 o como en realidad trabaja la computadora, “apagado” y “encendido” y se es como representa todos los datos con los que trabaja la computadora, desde sumas bajo nivel: el hardware. Estos dígitos son llamados bits. Para trabajar la computadora agrupa a los bits en grupos de ocho, a los cuales denomina byte y es esta la razón por la que es tan importante el sistema octal, 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. El sistema hexadecimal es empleado al indexar la memoria o al representar un byte debido a que al contener más dígitos es posible usar menos números para representar números más grandes, haciendo posible que un byte, conformado por8 bits o términos binarios, se represente con solo dos términos hexadecimales, lo que es un ahorro de información. Sin embargo, la computadora tampoco reconoce el sistema hexadecimal como tal y, al igual que el sistema octal, lo representa con términos binarios, empleando conjuntos de cuatro bits, para cada término hexadecimal. Sin embargo al presentar información al usuario es más factible presentar A9 que 10101001. Por último el sistema decimal únicamente se utiliza al interactuar con el usuario, debido a que un usuario común no está acostumbrado a tratar con diferentes sistemas numéricos
22
CONCLUSIÓN
La idea principal de este trabajo es que el nosotros como alumnos aprendamos el concepto de proposición, la forma en que se pueden formar proposiciones compuestas usando los conectores lógicos, representar enunciados por medio de simbología lógica, conocer los conceptos de, equivalencia lógica, regla de inferencia. Realizar demostraciones de teoremas por medio del método directo y contradicción. Pero con problemas que le sean familiares e interesantes. Se trata de que en cada uno de los subtemas participe proponiendo sus propios ejemplo y que sobre todo al final de la unidad él tenga la habilidad, confianza e iniciativa para inferir posibles soluciones tanto como las operaciones básicas de la clasificación de los sistemas numéricos, por ende los algoritmos de booth.
23
BIBLIOGRAFIA “FUNDAMENTOS DE MATEMATICAS” NORIEGA EDITORES 5° EDICION LIC. HUAN MANUEL SILVA Y ADRIANA LAZO (MAESTROS ASOSIADOS DEL DEPARTAMENTO DE MATEMATICAS DEL INSTITUTO TECNOLOGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY)
24