Sistemas de numeración

22
Informe Del Proyecto Sistemas, Representaci´ on y Conversiones Num´ ericas Fundamentos de las Ciencias de la Computaci´ on Escuela Polit´ ecnica Nacional Ingenieria en Sistemas nasco Loor Cesar Washington Apolo Romero Claribel Margarita Defaz Guachamin Cristian Vinicio Oviedo Moreno John Danilo 27 de julio de 2015 1

Transcript of Sistemas de numeración

Page 1: Sistemas de numeración

Informe Del Proyecto

Sistemas, Representacion y Conversiones Numericas

Fundamentos de las Ciencias de la Computacion

Escuela Politecnica Nacional

Ingenieria en Sistemas

Anasco Loor Cesar WashingtonApolo Romero Claribel MargaritaDefaz Guachamin Cristian Vinicio

Oviedo Moreno John Danilo

27 de julio de 2015

1

Page 2: Sistemas de numeración

Indice

1. Sistemas de numeracion: 3

2. Sistemas de numeracion Binario: 5

3. Sistemas de numeracion Octal: 5

4. Sistemas de numeracion Hexadecimal: 6

5. Conversion del sistema decimal al sistema binario. 7

6. Conversion del sistema binario al sistema decimal. 8

7. Conversion del sistema binario al sistema octal. 8

8. Conversion del sistema octal al sistema binario. 9

9. Conversion del sistema binario al sistema hexadecimal. 10

10.Conversion del sistema hexadecimal al sistema binario. 10

11.Conversiones entre diferentes bases. 11

12.Conversiones de Bn a B10: 13

13.Conversiones de B10 a Bn: 14

14.Conversiones de bases arbitrarias Bn a Bm: 15

15.Representacion de los enteros en el computador: 17

16.Representacion de los reales en el computador: 18

2

Page 3: Sistemas de numeración

1. Sistemas de numeracion:

Del simple hecho de que los numeros sean infinitos a surgido la ne-cesidad de nombrarlos y escribirlos con un corto numero de palabras osignos,para facilitar su conocimiento, ası como el de las leyes que rigen sucomposicion y descomposicion,dando origen a lo que se conoce como Nu-meracion y que se define diciendo que es el arte de formar y representarnumeros. Un sistema de numeracion es un conjunto de sımbolos y reglasque permiten representar datos numericos.Siendo convencionales los principios en que se funda la denominacion yrepresentacion de los numeros,facilmente se comprende que habran di-ferentes maneras de hacerlo,y de aquı el origen de los diferentes siste-mas de numeracion,entendiendose bajo este nombre el conjunto de le-yes,palabras y signos destinados a la enunciacion y representacion de losnumeros.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 distintos utiliza-dos para la representacion de las cantidades en el mismo. La base diez odecimal, es el sistema de numeracion utilizado en la vida cotidiana, perono es el unico.

3

Page 4: Sistemas de numeración

El sistema de numeracion de uso comun, conocido como sistema decimalo base 10, utiliza diez dıgitos (0, 1, ..., 9) para representar numeros. Elsistema decimal es posicional porque el valor de un numero se obtienemultiplicando cada dıgito por la potencia de 10 que le corresponde a laposicion del dıgito dentro del numero. La potencia se encuentra asignandola posicion cero al dıgito que esta a la izquierda del punto decimal y luegonumerando el resto de los dıgitos, ascendentemente hacia la izquierda ydescendentemente hacia la derecha.De la misma forma se pueden representar numeros en otros sistemas denumeracion. En el diseno de sistemas digitales los sistemas de numeracionmas utilizados, ademas del sistema decimal, son el sistema binario o base2,el sistema octal o base 8 y el sistema hexadecimal o base 16. Cada unode estos sistemas se presentara a continuacion.

4

Page 5: Sistemas de numeración

2. Sistemas de numeracion Binario:

Un sistema binario utiliza unicamente dos dıgitos para representar cual-quier cantidad,veamos a continuacion como podemos representar estascantidades y vamos a compararlas con el sistema decimal como referen-cia.

3. Sistemas de numeracion Octal:

Este sistema numerico tiene una base de 8 digitos con los cuales sepuede representar cualquier cantidad;en la siguiente tabla podemos verlos equivalentes entre el sistema decimal,binario,octal.

5

Page 6: Sistemas de numeración

4. Sistemas de numeracion Hexadecimal:

El sistema de numeracion hexadecimal es un sistema de base 16. Igualque en el sistema decimal, cada vez que tenıamos 10 unidades de un de-terminado nivel, obtenıamos una unidad del nivel superior (diez unidades:una decena, diez decenas: una centena, etc.) en el hexadecimal cada vezque juntamos 16 unidades de un nivel obtenemos una unidad del nivelsuperior. En un sistema hexadecimal debe haber por tanto 16 dıgitos dis-tintos.Como solo disponemos de diez dıgitos (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) nece-sitamos ampliar esa cantidad y se hace mediante letras, con la siguienterelacion en sistema decimal:

Este sistema de numeracion es muy utilizado en informatica porque sim-plifica la expresion binaria de los objetos. En Informatica se utiliza el bytecomo unidad basica de informacion. Un byte esta compuesto de 8 bits, esdecir, un conjunto de ocho ceros y unos. Por eso, con un byte se puedecodificar desde el 000000002 hasta el 111111112. Es decir,

000000002 = 0×27+0×26+0×25+0×24+0×23+0×22+0×21+0×20 = 0111111112=1 × 27 + 1 × 26 + 1 × 25 + 1 × 24 + 1 × 23 + 1 × 22 + 1 × 21 +1 × 20=128 + 64 + 32 + 16 + 8 + 2 + 2 + 1=255.

Por lo tanto con un byte podemos representar 256 valores, desde el 0hasta el 255.Pero para ello necesitamos 8 dıgitos. La ventaja del sistemahexadecimal es que para representar los mismos valores solo necesitamos2 dıgitos.

6

Page 7: Sistemas de numeración

5. Conversion del sistema decimal al sistema binario.

Para encontrar el equivalente binario de una cantidad debemos dividira esta sucesivamente por 2.Tenemos por ejemplo que queremos dividir elnumero 12 en su correspondiente binario, para ello realizamos lo siguiente:

Iniciamos con el numero 12,al dividirlo por 2 nos toca a 6(cociente) y nossobra 0 (residuo).Bajamos el cociente y volvemos a dividirlo por dos,eneste caso nos toca a 3 y nos sobra 0,repetimos el paso anterior y el cocientenos queda a 1 y nos sobra 1.Este procedimiento lo repetimos indefinidamente hasta que lleguemos alcaso en que tengamos la division de 1 entre 2,el cual siempre nos daracomo cociente 0 y residuo 1.El numero binario lo obtendremos del residuoformandolo de abajo hacia arriba,lo que quiere decir que el numero binariomas significativo esta en la parte inferior y el menos significativo en laparte superior del residuo,es decir:

7

Page 8: Sistemas de numeración

6. Conversion del sistema binario al sistema decimal.

Para llevar acabo esta conversion debemos realizar el siguiente proce-so,cada numero binario debera multiplicarse por una cantidad preestable-cida de acuerdo a a la siguiente tabla:

Por ejemplo: vamos a encontrar el equivalente decimal del numero 1010binario.De acuerdo a lo anterior debemos multiplicar el numero binariopor 2 aumentado cada vez su exponente en uno y empezando de derechaa izquierda y sumando al final cada resultado de la multiplicacion.

7. Conversion del sistema binario al sistema octal.

Cada dıgito de un numero octal se representa con tres dıgitos en elsistema binario. Por tanto, el modo de convertir un numero entre estossistemas de numeracion equivale a expandir cada dıgito octal a tres dıgitosbinarios, o en contraer grupos de tres caracteres binarios a su correspon-diente dıgito octal.

8

Page 9: Sistemas de numeración

Por ejemplo, para convertir el numero binario 1010010112 a octal toma-remos grupos de tres bits y los sustituiremos por su equivalente octal:1012 = 580012 = 180112 = 38y, de ese modo: 1010010112 = 5138La ventaja principal del sistema de numeracion Octal es la facilidad con-que pueden realizarse la conversion entre un numero binario y octal. Pormedio de este tipo de conversiones, cualquier numero Octal se conviertea binario de manera individual.

8. Conversion del sistema octal al sistema binario.

Teniendo en cuenta las conversiones previamente senalada en la tabla,sustituimos directamente cada dıgito en octal por sus correspondientesdıgitos en binario. Ejemplo:

9

Page 10: Sistemas de numeración

9. Conversion del sistema binario al sistema hexadecimal.

Para esta conversion tenemos que agrupar los dıgitos binarios de 4 en 4,empezando por la derecha en la misma direccion que en el paso de binarioa octal (De derecha a izquierda), anadiendo ceros por la izquierda si nosquedara un grupo con menos de 4 dıgitos binarios.

Luego vamos con los datos de la tabla previemanente senalada, y susti-tuimos cada grupo de 4 dıgitos por su correspondiente dıgito hexadecimal:

10. Conversion del sistema hexadecimal al sistema binario.

La conversion de un hexadecimal a binario es la accion de la codifi-cacion de cada valor hexadecimal a su representacion binaria. Un valorhexadecimal esta constituido por un numero de 0 a 9 o una letra A - F.Cada valor hexadecimal se puede convertir en un valor binario consistentede 4 numeros que solo pueden ser 0 o 1.

10

Page 11: Sistemas de numeración

11. Conversiones entre diferentes bases.

Existen diferentes sistemas numericos, cada uno de ellos se identificapor su base.

Dıgito: Un dıgito en un sistema numerico es un sımbolo que no escombinacion de otros y que representa un entero positivo.

Base de un sistema numerico: La base de un sistema numerico esel numero de dıgitos diferentes usados en ese sistema.

A continuacion se ejemplifican estas definiciones con los sistemas numeri-cos mas comunmente usados que son:

Decimal, utiliza 10 sımbolos (dıgitos) : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

11

Page 12: Sistemas de numeración

Binario, utiliza 2 sımbolos (dıgitos) : 0, 1Octal, utiliza 8 sımbolos (dıgitos): 0, 1, 2, 3, 4, 5, 6, 7Hexadecimal, utiliza 16 sımbolos (dıgitos): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,

A, B, C, D, E, FU otros con cualquier base:Terciario (Base 3), utiliza 3 sımbolos (dıgitos): 0, 1, 2Cuaternario (Base 4), utiliza 4 sımbolos (dıgitos): 0, 1, 2, 3Quinario (Base 5), utiliza 5 sımbolos (dıgitos): 0, 1, 2, 3, 4x Senario (Base 6), utiliza 6 sımboloos (dıgitos): 0, 1, 2, 3, 4, 5Heptal (Base 7), utiliza 7 sımbolos (dıgitos): 0, 1, 2, 3, 4, 5, 6Nonario (Base 9), utiliza 9 sımbolos (dıgitos): 0, 1, 2, 3, 4, 5, 6, 7, 8etc.

Notacion: Para distinguir entre los diferentes sistemas numericos se pue-de encerrar entre parentesis el numero y se le anade un subındice queindicara la base que se esta usando.

Sin embargo, si no se usa subındice se debera entender que el numeroesta en base diez, a menos que se diga lo contrario.

Existen varios metodos para convertir numeros de una base a otra.Como el sistema decimal es el sistema de numeracion de uso comun,primero se presentan los metodos para convertir de base 10 a otra base yde otra base a base 10. Despues se explicara la conversion entre dos basesarbitrarias.Principales:

Binario a Decimal (Base 2 - Base 10)

Decimal a Binario (Base 10 - Base 2)

Decimal a Octal (Base 10 - Base 8)

Octal a Decimal (Base 8 - Base 10)

Decimal a Hexadecimal (Base 10 - Base 16)

Hexadecimal a Decimal (Base 16 - Base 10)

12

Page 13: Sistemas de numeración

12. Conversiones de Bn a B10:

Sistema Decimal (Base 10)Usando los diez sımbolos separadamente 0, 1, 2, 3, ..., 9 nos permite

representar el valor de los numeros en unidades individuales, pero pararepresentar mas de nueve numeros es necesario combinarlos. Cuando usa-mos sımbolos en combinacion, el valor de cada uno de ellos depende de suposicion con respecto al punto decimal, designando ası un sımbolo paralas unidades, otro para las decenas, otro para las centenas, otro para losmillares (de miles, no de millon), en adelante.

El sımbolo correspondiente a las unidades asume la posicion mas iz-quierda antes del punto decimal. Esta designacion de posicion determinaque la potencia del numero se corresponde con la distancia en que esta delpunto decimal, y es por ello que la primera posicion se llama UNIDAD(100 = 1). Matematicamente esto puede ser representado como:

unidad = 100 decena = 101 centena = 102 Por ejemplo: El valor encombinacion de los sımbolos 234 es determinado por la suma de los valo-res correspondientes a cada posicion:

2 x 102 + 3 x 101 + 4 x 100Que equivale a:

2 x 100 + 3 x 10 + 4 x 1Efectuando las multiplicaciones esto da:

200 + 30 + 4Cuya suma da como resultado: 234

La posicion derecha del punto decimal es representada por numero en-teros pero negativos comensando desde -1 para la primera posicion. Ma-tematicamente las tres primeras posiciones a la derecha del punto decimalse expresan como:

decimas 10-1 centesimas 10-2 milesimas 10-3 En un ejemplo como el

13

Page 14: Sistemas de numeración

anterior, pero mas elaborado podemos ver que el valor 18.947 equivale a:1x101 + 8x100 + 9x10-1 + 4x10-2 + 7x10-3 =1x10 + 8x1 + 9x0.1 + 4x0.01 + 7x0.001 =10 + 8 + 0.9 + 0.04 + 0.007Para representar un numero base diez es posible colocar su valor seguido

de la base en sub-ındice (18.97410) o bien seguido de la letra d entreparentesis: 645(d).

13. Conversiones de B10 a Bn:

¿Como pasar de base 10 a otra base (2, 3, 4, 5, 6, 7, 8,..., 16,...)?

Este tipo de conversion se utiliza para cambiar un numero N de base10 a cualquier otra base (n). Para ello, se deben realizar dos pasos porseparado:

1.-Convertir la parte entera del numero N10, dividiendola, sucesivamente,entre n, hasta obtener un cociente mas pequeno que b. La parte enteradel numero que estamos buscando lo compondra el ultimo cociente y losrestos que se hayan ido obteniendo, tomados en orden inverso.

2.-Convertir la parte fraccionaria del numero N10, multiplicandola, repe-tidamente, por n, hasta obtener un cero en la parte fraccionaria o hastaque se considere oportuno, ya que, puede ser que el cambio de base de unafraccion exacta se convierta en una fraccion periodica. La parte fracciona-ria del numero buscado lo formaran las partes enteras de los numeros quese hayan ido obteniendo en cada producto, cogidas en ese mismo orden.

Veamos ejemplos:

1) Pasar el numero 65 a codigo binario

14

Page 15: Sistemas de numeración

2) Convertir el numero 65 a base 3

14. Conversiones de bases arbitrarias Bn a Bm:

¿Como pasar de una base a otra?Convertir un numero N de base (n) a otra base (m), ambas distintas

de 10, se puede hacer en los dos pasos siguientes:

1. Convertir el numero Nn de base (n) a base 10.2. Convertir el numero N10 de base 10 a base (m).

15

Page 16: Sistemas de numeración

Ejemplo 1:Usando el metodo descrito, para convertir el numero 16,518 a base 2, enprimer lugar lo pasaremos a base 10 con el Teorema Fundamental de laNumeracion (TFN):

16,518 =181 + 680 + 58−1 + 18−2 = 8 + 6 + 0, 625 + 0, 015625 =14, 64062510

A continuacion, cambiaremos el numero obtenido, 14,64062510, a base2. Los calculos de la parte entera son:

y las operaciones de la parte fraccionaria son:Por tanto,16,518 = 14,64062510 = 1110,1010012

Sin embargo, puesto que las bases de los Sistemas Binario y Octal, (2) y(8), ambas son potencias de 2, es decir, 2 = 21 y 8 = 23, las conversionesde octal a binario y viceversa se pueden realizar de forma directa. Paraello, hay que conocer la correspondencia de dıgitos que existe entre ambasbases.

Figura - Tabla de correspondencias entre los dıgitos de los SistemasOctal y Binario.

De la tabla se deduce que, por ejemplo, el numero 68 equivale al 1102,el numero 112 equivale al 38 o el numero 548 equivale al 1011002, ya que:

En consecuencia, para convertir el numero 16,518 a binario, podemoshacer corresponder cada uno de sus dıgitos con sus tres equivalentes en

16

Page 17: Sistemas de numeración

binario, de forma que:Los ceros a la izquierda de la parte entera o a la derecha de la par-

te fraccionaria se desprecian. Ası pues, obtenemos el resultado que yasabıamos,

16,518 = 1110,1010012

15. Representacion de los enteros en el computador:

La representacion mas extendida para los numeros enteros es el com-plemento a dos [10].El rango de la representacion de enteros en complemento a dos, con ca-denas de p bits, es [2p1, 2p11]. Con este codigo se tiene una unica repre-sentacion para el cero por lo que se facilita su deteccion. Por otro lado,esta representacion es especialmente adecuada desde el punto de vista delhardware porque no requiere circuitos adicionales para la operacion de laresta. Con el objetivo de ilustrar los aspectos relacionados con esta repre-sentacion, se ha disenado un conjunto de ejercicios practicos, basados enun entorno computacional que se presenta mas adelante. Estos ejerciciosse pueden clasificar en dos grupos relacionados con la representacion ycon la aritmetica.

CONVENIO SIGNO MAGNITUD: Segun este metodo, si se uti-lizan n bits para representar un numero, se reserva un bit (normalmenteel de mayor peso) para indicar el signo, y el resto de bits se utilizan pararepresentar la magnitud. El convenio, un acuerdo arbitrario, dice que seutiliza la siguiente codificacion para un numero entero:- Si el numero es positivo su bit de mayor peso sera 0:

-Si el numero es negativo su bit de mayor peso sera 1:

17

Page 18: Sistemas de numeración

El bit de mayor peso que indica el signo del numero recibe el nombre debit de signo.Ejemplo: utilizando 8 bits (n = 8), representa los numeros +25 y -25,siguiendo el,convenio de signo y magnitud. En primer lugar se convier-te la magnitud o valor absoluto, 25, a binario natural con n-1=7 bits,completando con ceros los bits de mayor peso si fuera necesario:

En segundo lugar se anade el bit de signo:

16. Representacion de los reales en el computador:

El estandar IEEE 754 para la representacion binaria en punto flotante.El estandar IEEE define un formato de simple precision, de forma que elnumero real r expresado en notacion exponencial como r = (1)s (1.m)2ES se representa por una cadena de 32 bits que se organizan como si-gue: un bit para el signo (s), ne = 8 bits para el exponente sesgado E =e + S (denotando e el exponente y S =2ne1 1 el sesgo) y nm = 23 bitspara la mantisa. La base implıcita que se considera en esta representaciones 2. El formato de doble precision dispone de 64 bits, de los cuales 11estan destinados al exponente, 52 a la mantisa y uno al signo. Existe unagran variedad de conceptos relacionados con la representacion en puntoflotante que cualquier Ingeniero Informatico debe conocer:

- El numero de bits del exponente y mantisa definen el rango y la pre-cision de la representacion.

18

Page 19: Sistemas de numeración

- La distancia entre dos datos en punto flotante consecutivos varıa a lolargo de la recta real. A medida que se consideran valores mayores, esadistancia es mayor y viceversa.

- Existe distancia relativamente significativa entre el cero y el menorreal distinto de cero. No obstante, el uso de numeros desnormalizadospermite reducir esta distancia.

- Se define la precision de la maquina, !mach, como la distancia entre1.0 y el menor numero mayor que 1.0 representable por el formato. Esteparametro se puede tomar como una medida de la precision de las opera-ciones en punto flotante.

- El cero se representa por una cadena de bits de valor cero.

- Los errores de redondeo, truncamiento y cancelacion estan presentesen la aritmetica en punto flotante.

- Se asocian codigos especiales (Infinito, Not-a-Number) a situacionesexcepcionales.

- Las rutinas que tratan las excepciones estan bajo el control de usua-rio/programador.

- La representacion en punto flotante no cumple exactamente las reglasfundamentales del algebra convencional. Propiedades como asociativa odistributiva no se verifican exactamente.

19

Page 20: Sistemas de numeración

ANEXOS PROGRAMA JAVA

20

Page 21: Sistemas de numeración

21

Page 22: Sistemas de numeración

BIBLIOGRAFIA

22