Date post: | 15-Apr-2017 |
Category: |
Technology |
Upload: | henry-paz |
View: | 292 times |
Download: | 0 times |
Escuela Politecnica NacionalFacultad de Ingenierıa de Sistemas
Sistemas, Representacion y Conversiones NumericasAnasco Loor Cesar Washington
Apolo Romero Claribel MargaritaDefaz Guachamin Cristian Vinicio
Oviedo Moreno John Danilo
Fundamentos de Ciencias de la Computacion - 2015A - SIS-404
27 de julio 20151 / 64
Indice
1 Sistemas de NumeracionSistema BinarioSistema OctalSistema Hexadecimal
2 Conversiones y Operaciones entre distintas basesConversiones de bases Bn a B10 y B10 a BnConversiones de bases arbitrarias Bn - Bm
3 Representaciones NumericasEnterosReales
4 Ejercicios Propuestos
2 / 64
Sistemas de Numeracion
Los sistemas y codigos de Numeracion
Los numeros pueden representarse en diversos sistemas de numeracionposicionales o ponderados que se caracterizan por asignar a cada numeroun conjunto de sımbolos o cifras cada una de las cuales tiene asignado unpeso. Se diferencian por la base, que es el numero de sımbolos distintosutilizados para la representacion de las cantidades en el mismo. La basediez o decimal, es el sistema de numracion utilizado en la vidacotidiana[4], pero no es el unico.
3 / 64
Sistemas de Numeracion Sistema Binario
El Sistema Binario
Este sistema utiliza solamente dos sımbolos distintos, que serepresentan graficamente por 0 y 1 y reciben el nombre de ”bit”.
Practicamente su uso es exclusivo de equipos electronicosinformaticos, de comunicaciones y de control automatico, debido a larapidez de respuesta de dichos aparatos y a la sencillez de lasoperaciones aritmeticas binarias.
4 / 64
Sistemas de Numeracion Sistema Octal
El Sistema Octal
Este sistema alberga ocho sımbolos diferentes (del 0 a 7).
El interes del sistema octal proviene de que, al ser el numero 8 unapotencia de 2, su conversion al sistema binario y viceversa se tornamuy sencilla
Por ejemplo
Dado el numero 325 en base 8, convertimos cada cifra a binario.
5 / 64
Sistemas de Numeracion Sistema Hexadecimal
El Sistema Hexadecimal
El sistema de numeracion hexadecimal utiliza 16 sımbolos diferentes:los dıgtos del 0 al 9 y seis letras del alfabeto en mayusculasrelacionados de la siguiente manera:
Se utiliza este sistema en la informatica porque simplifica la expresionbinaria de los objetos.
Es ası que con el byte, la Unidad Basica de Informacion compuestopor 8 bits (conjunto de unos y ceros) el cual puede representar 256
valores desde el 0 hasta el 255 se la puede simplificar a 2 dıgitos coneste sistema.
6 / 64
Conversiones y Operaciones entre distintas bases
Conversiones entre bases diferentes
Existen varios metodos para convertir numeros de una base a otra. Comoel sistema decimal es el sistema de numeracion de uso comun, primero sepresentan los metodos para convertir de base 10 a otra base y de otra basea base 10 . Despues se explicara la conversion entre dos bases arbitrarias(Bn-Bm).[3]
7 / 64
Conversiones y Operaciones entre distintas bases Conversiones de bases Bn a B10 y B10 a Bn
Conversiones a base 10
De binario a decimal
La conversion de binario a decimal se hace utilizando el desarrollo delnumero binario a base de potencias de 2, como se refleja en la figura.
8 / 64
Conversiones y Operaciones entre distintas bases Conversiones de bases Bn a B10 y B10 a Bn
Conversiones desde base 10
De decimal a binario
La conversion de numero decimal a binario se obtiene dividiendosucesivamente para 2, la base binaria. Los restos de las divisiones sonlas cifras binarias, leyendolas de abajo hacia arriba.
9 / 64
Conversiones y Operaciones entre distintas bases Conversiones de bases Bn a B10 y B10 a Bn
Conversiones desde base 10
De decimal a octal
Al igual que la conversion binaria, la conversion de numero decimal aoctal tambien se logra dividiendo sucesivamente, pero en este caasopara su base: 8. Los restos de las divisiones son las cifras binarias,igualmente su lectura es desde abajo hacia arriba.
10 / 64
Conversiones y Operaciones entre distintas bases Conversiones de bases Bn a B10 y B10 a Bn
Conversiones desde base 10
De decimal a octal
Un metodo alternativo y mas corto serıa el convertir el numerodecimal a binario para posteriormente agruparlos en grupos de 3,deduciendo ası su equivalente.
11 / 64
Conversiones y Operaciones entre distintas bases Conversiones de bases Bn a B10 y B10 a Bn
Conversiones a base 10
De octal a decimal
La conversion de un numero octal a decimal es igualmente sencilla.
A cada una de estras cifras le agregamos un multiplicador por 8 (*8).
A Cada “*8 lo elevamos, de derecha a izquierda, a una potenciaconsecutiva empezando desde el cero.
Resolvemos y sumamos.
12 / 64
Conversiones y Operaciones entre distintas bases Conversiones de bases Bn a B10 y B10 a Bn
Conversiones desde base 10
De decimal a hexadecimal
La conversion de decimal a hexadecimal puede utilizarse mediante eluso de la division repetida entre 16.
13 / 64
Conversiones y Operaciones entre distintas bases Conversiones de bases Bn a B10 y B10 a Bn
Conversiones desde base 10
De decimal a hexadecimal
O podemos hallar el binario del numero a convertir, formar grupos de4 de derecha a izquierda:
14 / 64
Conversiones y Operaciones entre distintas bases Conversiones de bases Bn a B10 y B10 a Bn
Conversiones a base 10
De hexadecimal a decimal
Multiplicamos el valor de posicion de cada columna por el dıgitohexadecimal correspondiente.
El resultado del numero decimal equivalente se obtiene, sumandotodos los productos obtenidos en el paso anterior
15 / 64
Conversiones y Operaciones entre distintas bases Conversiones de bases arbitrarias Bn - Bm
Bases distintas de B10
Antecedentes
Nuestros antepasados sintieron la necesidad de contar y, a partir delos 10 dedos de las manos, inventaron la numeracion decimal, algunosse quisieron pasar de listos y senalaron que tenemos mas de 20 dedos,de las manos y de los pies. Complicaron la cuestion, pero lanumeracion vigesimal (base 20) no prospero.[2]
Se podrıan establecer numeraciones distintas a la decimalfundamentandose en otras bases. Ası se escribirıan los 20 primerosnumeros segun las diferentes sistemas de numeracion:
16 / 64
Conversiones y Operaciones entre distintas bases Conversiones de bases arbitrarias Bn - Bm
Conversiones entre bases distintas de B10
17 / 64
Conversiones y Operaciones entre distintas bases Conversiones de bases arbitrarias Bn - Bm
Bases distintas de B10
Antecedentes
La escritura de los numeros en las bases superiores a 10 requerira lacreacion de nuevos sımbolos: sustituyendolos por letras. Cuantomayor es la base, menos cifras o dıgitos se necesitaran para escribir unnumero. Ej. el Numero 1000 en base 10: [2]
18 / 64
Conversiones y Operaciones entre distintas bases Conversiones de bases arbitrarias Bn - Bm
Bases diferentes de 10 mas utilizadas
El sistema duodecimal (Base12)
Este sistema ofrecıa ciertas ventajas, ya que 12 tiene un mayor numero de divisoresque el 10, aunque no se puede abandonar el sistema decimal, al estaruniversalmente adoptado. [2]
El sistema sexagesimal (Base 60)
Fue desarrollado por la civilizacion mesopotamica y se lo utiliza para medir eltiempo y para los angulos en el ambito de las ciecias exactas.
Si decimos por ejemplo, 8 horas 20 minutos y 15 segundos (que podrıa escribirselogicamente 8,20,15) solo en segundos serıa:
19 / 64
Conversiones y Operaciones entre distintas bases Conversiones de bases arbitrarias Bn - Bm
Conversiones entre Bases distintas de B10
Convertir de
La escritura de los numeros en las bases superiores a 10 requerira lacreacion de nuevos sımbolos: sustituyendolos por letras. Cuantomayor es la base, menos cifras o dıgitos se necesitaran para escribir unnumero. Ej. el Numero 1000 en base 10: [2]
20 / 64
Representaciones Numericas
Representaciones Numericas
En esta seccion se explica el modo en que las computadoras representannumeros negativos mediante el uso de la notacion de complementos a unoy dos. Primero explicaremos los diferentes metodos existentes pararepresentar negativos, luego el complemento a uno y detallaremos como seforma el complemento a dos de un numero binario, y el por que esta nuevaexpresion representa el valor negativo de dicho binario.
21 / 64
Representaciones Numericas Enteros
Metodos de representacion de enteros
Binario Puro
Los numeros escritos en Binario Puro solo pueden ser positivos, yaque, en este tipo de representacion los numeros negativos no estancontemplados.
En este sentido, su rango de representacion unicamente va desde elnumero
010
hasta el numero(2n − 1)10
donde n es el numero de bits dedicados a representar a los numerosenteros.
22 / 64
Representaciones Numericas Enteros
Metodos de representacion de enteros
De este modo,en este sistema de numeracion, el rango de valores quepuede tomar cualquier cantidad numerica x, viene dado por la expresion:
010 ≤ x ≤ (2n − 1)10
Ejemplo:
Si n = 8, el rango de representacion en binario puro es:
010 ≤ x ≤ (28 − 1)10010 ≤ x ≤ (256− 1)10010 ≤ x ≤ (255)10
Por lo tanto, determinamos que solamente podemos representar numerosdesde 0 hasta 255 en el sistema decimal.
23 / 64
Representaciones Numericas Enteros
Metodos de representacion de enteros
Magnitud-Signo
Llamada Signo Modulo, es un formato que imita nuestra escrituramanual de numeros enteros, pues estamos acostumbrados a escribirlos enteros separando el signo de la magnitud del numero, porejemplo, -32, +25.
Si no hay signo, sobreentendemos que se trata de un numero enteropositivo.
En este metodo se reserva un bit para el signo, el resto de bitsrepresentan a la magnitud. Por tanto, dado un numero en SignoMagnitud de n bits
El primer bit tendra entonces un solo valor: 1 para negativos y 0 parapositivos
24 / 64
Representaciones Numericas Enteros
Metodos de representacion de enteros
Magnitud-Signo
Es ası que si trabajamos con m bits, tendremos disponibles m - 1 bitspara escribir la magnitud del numero en binario.
El numero de magnitud mas grande que podremos escribir en esteespacio sera aquel donde todos los bits estan en uno (111111...11),entonces:
Maximo: 2m−1 − 1Mınimo: -(2m−1 − 1)
Entonces podremos representar un numero desde 0 hasta 255 en elsistema decimal.
25 / 64
Representaciones Numericas Enteros
Metodos de representacion de enteros
Ejemplo:
En Signo Magnitud, para n = 8, los numeros 2310 y −2310 seescriben:
Como muestra el ejemplo, los dos tienen la misma magnitud, diferenciandosesolamente, en el bit de signo, que al tratarse de un numero negativo, su valor es 1en lugar de 0.Por tanto, 2310 = 00010111SM y −2310 = 10010111SM
26 / 64
Representaciones Numericas Enteros
Metodos de representacion de enteros
Complemento a 1
En este sistema de representacion, los numeros positivos se expresanigual que en Signo Magnitud o que en Binario Puro.
Sin embargo, para escribir los numeros negativos se utiliza elComplemento a la Base Menos 1.
De forma normalizada, el Complemento a la Base Menos 1 de unnumero entero positivo N de base b, se expresa de la siguientemanera:
Cb−1(N) = bn − 1−N [1]
27 / 64
Representaciones Numericas Enteros
Metodos de representacion de enteros
Complemento a 1
Si n es el numero de cifras destinadas a representar al numero,entonces en codificacion binaria, el Complemento a 1 (C1) de unnumero entero positivo (N) se puede expresar como:
C1(N) = 2n − 1−N = Nc1 [1]
El rango de representacion sera el mismo que en Magnitud-Signo:
(−2n−1 + 1)10 ≤ x ≤ (2n−1 − 1)10
28 / 64
Representaciones Numericas Enteros
Metodos de representacion de enteros
Ejemplo:
El negativo del numero 8610 en complemento a 1 se representa como:
Entonces, el complemento a uno no es mas que complementar cada bit medianteel intercambio de ceros por unos y viceversa. Como apunte adicional, el cerodecimal tiene 2 formas de representarse:010 = (0000000000000000)C1 = (1111111111111111)C1
29 / 64
Representaciones Numericas Enteros
Metodos de representacion de enteros
Complemento a 2
En este sistema de representacion, los numeros positivos se expresanigual que en el sistema Magnitud- Signo o que en Binario Puro.
Sin embargo, para escribir los numeros negativos se utiliza elComplemento a la Base.
Formalmente, el Complemento a la Base de un numero enteropositivo N de base b, se expresa de la siguiente manera:
Cb(N) = 2n −N [1]
30 / 64
Representaciones Numericas Enteros
Metodos de representacion de enteros
Complemento a 2
Si n es el numero de cifras destinadas a representar al numero,entonces en codificacion binaria, el Complemento a 2 (C2) de unnumero entero positivo (N) se puede expresar como:
C2(N) = 2n −N = Nc2 [1]
El rango de representacion del complemento a 2 viene dado por:
(−2n−1)10 ≤ x ≤ (2n−1 − 1)10
31 / 64
Representaciones Numericas Enteros
Metodos de representacion de enteros
Ejemplo:
El negativo del numero 910 en complemento a 2 se representa como:
Entonces, el complemento a 2 se obtiene tomando el complemento a 1, ysumandole 1 al bit menos significativo, en este caso, al primer bit desde laderecha.
32 / 64
Representaciones Numericas Reales
Representacion de Reales en el computador
Ahora nuestro objetivo es representar un numero con un punto decimal ensistema binario (por ejemplo, 101.01, que no se lee ciento uno punto cerouno ya que es, de hecho, un numero binario, o 5,25 en el sistema decimal).El estandar IEEE 754 define como codificar un numero real.
El Estandar IEEE 754
El estandar IEEE 754 ha sido definido por el Instituto de IngenierosElectricos y Electronicos (Institute of Electrical and Electronics Engineers,IEEE) y establece dos formatos basicos para representar a los numerosreales en la computadora digital: precision simple y precision doble. [1]
33 / 64
Representaciones Numericas Reales
Representacion de Reales en el computador
Precision Simple
Establece 32 bits para escribir un numero real, de ellos, el primer bit,que por lo general es el de mayor peso, (aquel que se encuentra mas ala izquierda) representa el signo mas/menos.
El exponente se codifica utilizando 8 bits inmediatamente despues delsigno.
Los bits despues del punto decimal son los 23 bits restantes querepresentaran a la ’mantisa’:
34 / 64
Representaciones Numericas Reales
Representacion de Reales en el computador
Precision Doble
Establece 64 bits para escribir un numero real, de los cuales, el primerbit de mayor peso, (aquel que se encuentra mas a la izquierda)representa el signo mas/menos,
El exponente se codifica utilizando 11 bits inmediatamente despuesdel signo.
Los bits despues del punto decimal son los 52 bits restantes querepresentaran a la ’mantisa’:
35 / 64
Representaciones Numericas Reales
Representacion de Reales en el computador
Ejemplo de representacion de reales
Mediante el siguiente ejemplo, detallaremos como el computadorrepresenta un numero real.
Representar el valor -125,125 en el computador, utilizando precisionsimple, es decir, 32 bits.
36 / 64
Representaciones Numericas Reales
Representacion de Reales en el computador
Procedimiento para representar reales
1) Como -125,125 es negativo, el primer bit sera 1.
2) Su representacion en el sistema binario (base 2), aplicando las reglas deconversiones es: 1111101,0010.
3) Normalizamos el binario recorriendo cada termino de derecha a izquierdacomo en notacion cientıfica; ası, obtenemos: 1, 1111010010x(10)6.
4) El exponente se suele representar en Exceso a 2n−1 − 1, donde n es elnumero de bits asignado para el exponente (8) por tanto tenemos:28−1 − 1 = 127
37 / 64
Representaciones Numericas Reales
Representacion de Reales en el computador
Procedimiento para representar reales
5) Sumandole 127 al exponente, que en este caso es 6, da 13310 yconvertido a binario: 1100001012.
6) Colocamos esta cantidad en los 8 siguientes casilleros de la grafica:
7) Finalmente la mantisa estara compuesta por la parte decimal de -125,125obtenida en la normalizacion (paso 3), que es: 1111010010, la ubicamos enlos 23 bits siguientes y en aquellos que queden vacıos, lo completamos con
ceros:
38 / 64
Representaciones Numericas Reales
Representacion de Reales en el computador
Por lo tanto, el numero −125, 12510 quedara representada como110000101111101001000000000000002, el cual puede ser convertido a cualquier otro sistema numerico, como elhexadecimal: C2FA400016
39 / 64
Representaciones Numericas Reales
Casos especiales del Estandar IEEE 754
Tanto en precision doble como en precision simple, existen algunos casosespeciales que dependen de los valores del signo, del exponente y de la mantisa:[1]
Figura: Casos especiales en el estandar IEEE 754 con precision simple o doble.
40 / 64
Ejercicios Propuestos
Transformacion de decimal a binario
12.80 =1100.11001
12b20 6b2
0 3b21 1
0.8×2 = 1.6 10.6×2 = 1.2 10.2×2 = 0.4 00.4×2 = 0.8 00.8×2 = 1.6 1
41 / 64
Ejercicios Propuestos
Transformacion de binario a decimal
1001010.10 =74.5
0×20 = 01×21 = 20×22 = 01×23 = 80×24 = 00×25 = 01×26 = 64suma=74
0.5 =0.1
2
42 / 64
Ejercicios Propuestos
Transformacion de binario a octal
001 001 010 =112
001⇒ 1× 20 = 1001⇒ 1× 20 = 1010⇒ 1× 21 = 2
43 / 64
Ejercicios Propuestos
Transformacion de octal a binario
4710 =100 111 001 000
4b20 2b2
0 1
7b21 3b2
1 1
1b21 0
44 / 64
Ejercicios Propuestos
Transformacion de binario a hexadecimal
1111 1101 0111 0011 =FE73
1×20 = 11×21 = 21×22 = 41×23 = 8suma=15⇒ F
1×20 = 10×21 = 01×22 = 41×23 = 8suma=14⇒ E
45 / 64
Ejercicios Propuestos
1×20 = 11×21 = 21×22 = 40×23 = 0suma=7
1×20 = 11×21 = 20×22 = 00×23 = 0suma=3
46 / 64
Ejercicios Propuestos
Transformacion de hexadecimal a binario
9F2 =100111110010
9b21 4b2
0 2b20 1
F=1515b21 7b2
1 3b22b20 1
2b20 1b2
1 047 / 64
Ejercicios Propuestos
Transformacion de octal a hexadecimal
754 =0001 1110 1100De octal a binario
7b21 3b2
1 1
5b21 2b2
0 1
4b20 2b2
0 1
48 / 64
Ejercicios Propuestos
754 =1ECDe binario a hexadecimal
0001⇒ 1× 20 = 1suma=1
1110⇒ 1× 21 = 21×22 = 41×23 = 8suma=14⇒ E
1100⇒ 1× 22 = 41×23 = 8suma=12⇒ C
49 / 64
Ejercicios Propuestos
Transformacion de hexadecimal a octal
FAD =111 110 101 101De hexadecimal a binario
F= 15 15b21 7b2
1 3b21 1
A=10 10b20 5b2
1 2b20 1
D=13 13b21 6b2
0 3b21 1
50 / 64
Ejercicios Propuestos
111 110 101 101=7655De binario a octal
111⇒ 1× 20 = 11×21 = 21×22 = 4suma=7
110⇒ 1× 21 = 21×22 = 4suma=6
101⇒ 1× 20 = 11×22 = 4suma=5
101⇒ 1× 20 = 11×22 = 4suma=5
51 / 64
Ejercicios Propuestos
Conversion de B(N) a B10
B3 a B101200012201=32959
1×30 = 10×31 = 02×32 = 182×33 = 541×34 = 810×35 = 00×36 = 00×37 = 02×38 = 131221×39 = 19683suma=32959
52 / 64
Ejercicios Propuestos
B9 a B101200012201=473’522.113
1×90 = 12×92 = 1622×93 = 14581×94 = 65612×98 = 860934421×99 = 387420489suma=473’522.113
53 / 64
Ejercicios Propuestos
B17 a B101200012201=132.539’485.305
1×170 = 12×172 = 5782×173 = 98261×174 = 835212×178 = 139515148821×179 = 118587876568suma=132.539’485.305
54 / 64
Ejercicios Propuestos
Conversion de B(N) a B(M)
B7 a B4635=11000
5×70 = 53×71 = 216×72 = 294suma=320
320b40 80b4
0 20b40 5b4
1 1
55 / 64
Ejercicios Propuestos
B5 a B15342 = 67
2×50 = 24×51 = 203×52 = 75suma=97
97b157 6
En B15⇒ 67
56 / 64
Ejercicios Propuestos
B8 a B121644 = 658
4×80 = 44×81 = 326×82 = 3841×83 = 512suma=932
932b128 77b12
5 6
En B12⇒ 658
57 / 64
Ejercicios Propuestos
Representacion de enteros en el computador
Almacena en 8 bits el 12 = 0000 1100
12b20 6b2
0 3b21 1
Signo= +⇒ 0
Almacenado⇒ 0000 1100
58 / 64
Ejercicios Propuestos
Almacena en 16 bits el -245 = 100000000 11110101
245b21 122b2
0 61b21 30b2
0 15b21 7b2
1 3b21 1
Signo= - ⇒ 1
Almacenado⇒ 10000000 11110101
59 / 64
Ejercicios Propuestos
Representacion de reales en el computador
12.75=0 10000010 10011000000000000000000
12b20 6b2
0 3b21 1
0.75×2 = 1.5 10.5×2 = 1 1
⇒ 1100.11
60 / 64
Ejercicios Propuestos
signo= 0 ⇒ +
Exponente = 127 + 3=130
130b20 65b2
1 32b20 16b2
0 8b20 4b2
0 2b20 1
Representacion⇒ 0 10000010 10011000000000000000000
61 / 64
Ejercicios Propuestos
1 10000011 11111000000000000000000= -31.05
signo= 1 ⇒ −
100000111×20 = 11×21 = 21×27 = 128suma=131
Exponente = 131 - 127=4
62 / 64
Ejercicios Propuestos
1.11111⇒ 11111.1
1×20 = 11×21 = 21×22 = 41×23 = 81×24 = 16suma=31
1×0.5 = 0.5
Equivale a⇒ −31.05
63 / 64
Ejercicios Propuestos
Carlospes.com.
Curso/tutorial de representaciOn de los datos.urlhttp://www.carlospes.com/cursorepresentaciondatos/0503complementoa1.php, 2014.
Andre Jouette.El secreto de los numeros.Ediciones Robinbook, 2008.
Hector Antonio Villa Martınez.Sistemas de numeracion y aritmetica binaria.Technical report, Technical report, Universidad de Sonora, Hermosillo,Sonora, 2008.
Enrique Mandado Perez, Enrique Mandado, and Yago Mandado.Sistemas electronicos digitales.Marcombo, 2007.
64 / 64