unidad

miércoles, 10 de diciembre de 2014

represntacion y convercion entre diferentes bases

Sistemas numéricos (decimal, binario, octal, hexadecimal) Jaime A. Valencia V. Facultad de Ingeniería Universidad de Antioquia Como parte del mundo occidental, desde hace ya bastantes años nos hemos acostumbrado a representar los números con el denominado sistema decimal, pero realmente existen muchas formas de representar los números. Existen referencias de 1500 A.C.(Wikipedia, 2011a) del uso de números y en la actualidad se tiene ya un sistema numérico muy bien fundamentado y clasificado (Wikipedia, 2011b; Wikipedia, 2011c). En esta sección no trabajaremos los aspectos teóricos de lo que es un campo numérico o un sistema numérico, tan sólo la forma cómo podemos representar un mismo número usando diferentes sistemas, en particular, el sistema decimal y el sistema binario, el cual es de vital importancia en el tema de los computares porque toda la información que se procesa en estas maquinas tiene en última instancia que representarse con un sistema binario. El uso del sistema binario obedece a aspectos de construcción de los computadores, ya que en sistemas electrónicos se hace más fácil distinguir entre 2 niveles de voltaje, corriente, magnetización, etc. Un número representado en base 10 o decimal, significa que se tienen diez dígitos (0 - 9) y una jerarquía en la posición del número, teniendo más peso si está más a la izquierda, por ejemplo: 3462 = 3 x 103 + 4 x 102 + 6 x 101 + 2 x 100 = 3462 Un número representado en base 2 o binaria significa que se tienen dos dígitos (0, 1) y una jerarquía en la posición del número, teniendo más peso la posición de la izquierda, por ejemplo: 101101 = 1 x 25 + 1 x 24 + 1 x 23 + 1 x 22 + 1 x 21 + 1 x 20 = 45 El cálculo de la derecha se realiza en el sistema decimal y este es el método de obtener la representación decimal a partir de la representación binaria. Para realizar el proceso inverso, es decir, a partir de un número en representación decimal obtener su representación binaria, se requiere realizar divisiones repetidas por 2 y el residuo dará los coeficientes de número en binario, como ejemplo veamos la siguiente tabla 1 que muestra el ejemplo anterior. Iteración Valor División por 2 Residuo 0 45 22 1 1 22 11 0 2 11 5 1 3 5 2 1 4 2 1 0 5 1 0 1 Tabla 1. Ejemplo conversión decimal - binario En la tabla la columna de Iteración nos da la potencia de la base 2, la columna de Residuo nos da los dígitos binarios ponderados respectivamente y en la columna División por 2 se muestra el resultado entero de la división por 2. El procedimiento termina cuando el resultado de la división por 2 sea nulo. Así podemos reescribir el número original 45 usando los coeficientes ponderados binarios, es decir: 45 = 1 x 20 + 0 x 21 + 1 x 23 + 1 x 23 + 0 x 24 + 1 x 25 = 101101 Estos procedimientos se pueden generalizar para números con fracciones decimales. Veamos el siguiente ejemplo de la representación de un número de base 10: 0,4507 = 0 x 100 + 4 x 10-1 + 5 x 10-2 + 0 x 10-3 + 7 x 10-4 = 0,4507 Si se tiene un número con fracciones de base binaria, se escribe de igual forma: 0,10111 = 0 x 20 + 1 x 2-1 + 0 x 2-2 + 1 x 2-3 + 1 x 2-4 + 1 x 2-5 = 0,71875 Este es el método para obtener la representación en base 10 de un número fraccionario en base 2. Para el proceso inverso, convertir un número fraccionario en base 10 a uno fraccionario en base 2, a diferencia del caso anterior, se multiplica por la base iteradamente y se obtienen los dígitos binarios respectivos. Como ejemplo realicemos en la tabla 2 un caso similar a la anterior. Iteración Valor Fracción de la multiplicación por 2 Entero de la multiplicación por 2 -1 0,718750 0,437500 1 -2 0,437500 0,875 0 -3 0,875 0,75 1 -4 0,75 0,5 1 -5 0,5 0 1 Tabla 2. Ejemplo conversión fraccionario en base 10 - fraccionario en base 2 Este procedimiento se repite hasta que en la columna 3 de Multiplicación por 2 se obtenga un valor nulo. En la tabla, la columna de Iteración da la ponderación del dígito binario y la columna de Entero da los dígitos binarios respectivos, así se tiene que: 0,71875 = 1 x 2-1 + 0 x 2-2 + 1 x 2-3 + 1 x 2-4 + 1 x 2-5 = 0,10111 Un caso interesante en estas representaciones es que el hecho de tener un número finito de fracciones en una representación, no significa que se tendrá un número finito de fracciones en otra representación, el ejemplo clásico es el del número 0,1 en representación de base 10, el cual tienen infinitas fracciones en su representación binaria. Si intenta hacer una tabla como la anterior, se dará cuenta que en la columna 3 nunca obtendrá un valor nulo. Los ejemplos mostrados no incluyen el signo para la representación de números negativos, así que se debe adicionar el signo como información adicional o definir otros modos de representación de los números en base 10. Esto significa que pueden definirse diferentes formas para representar en base binaria un número de base decimal. Veamos como ejemplo la tabla 3, donde se muestran dos representaciones de los números enteros. Número base 10 Base 2 con signo Base 2 sesgado -3 -011 000 -2 -010 001 -1 -001 010 0 000 011 1 +001 100 2 +010 101 3 +011 110 4 +100 111 Tabla 3. Representación de números enteros en base 2 Un sistema numérico octal dispone de 8 dígitos para la representación de un número y un sistema hexagecimal dispone de 16 dígitos. Estos sistemas se utilizan en algunas aplicaciones de computadores para simplificar notaciones y explicaciones de datos o posiciones de memoria. La tabla 4 muestra cómo contamos directamente en decimal, octal, hexagecimal y binario como ejemplo de comparación. Decimal Octal Hexagecimal Binario 0 0 0 0 1 1 1 1 2 2 2 10 3 3 3 11 4 4 4 100 5 5 5 101 6 6 6 110 7 7 7 111 8 10 8 1000 9 11 9 1001 10 12 A 1010 11 13 B 1011 12 14 C 1100 13 15 D 1101 14 16 E 1110 15 17 F 1111 Tabla 4. Representación enteros en los 4 sistemas numéricos






0 comentarios:

Publicar un comentario