presentacion sistemas numericos

65
Escuela Polit´ ecnica Nacional Facultad de Ingenier´ ıa de Sistemas Sistemas, Representaci´on y Conversiones Num´ ericas nasco Loor Cesar Washington Apolo Romero Claribel Margarita Defaz Guachamin Cristian Vinicio Oviedo Moreno John Danilo Fundamentos de Ciencias de la Computaci´ on - 2015A - SIS-404 27 de julio 2015 1 / 64

Upload: henry-paz

Post on 15-Apr-2017

292 views

Category:

Technology


0 download

TRANSCRIPT

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

Ejercicios Propuestos

GRACIAS POR SU ATENCION.

64 / 64