Tema 4 Elementos para el Desarrollo de Algoritmos Parte 1
Representación de datos en una computadora Sistemas de numeración
Introducción El ordenador procesa: instrucciones que forman el programa (indica qué debe hacerse) y los datos con los que debe trabajar Los datos internamente se representan mediante un alfabeto, utilizando un código o representación interna. Físicamente los datos se presentan mediante una combinación de bits (binary digit), y que físicamente se convertirá en dos niveles de tensión diferenciados. Instrucciones y datos deben almacenarse dentro del ordenador
Para comunicarse con el ordenador, se debe usar un alfabeto que después se pueda representar dentro del mismo: Caracteres Alfabéticos: Mayúsculas y minúsculas del alfabeto inglés. Caracteres Numéricos: Del cero al nueve. Caracteres Especiales : {,}, #, $, %, &, _, +. ‐. *, /, \, (,), ?, !, [, ] Caracteres de Control: Representan órdenes de control al ordenador: EOL, EOT, SYNC, ESC, BEEP, CTRL Caracteres Gráficos: Permiten “dibujar” figuras o iconos elementales. Externamente, manejamos información Generalmente nos referiremos a estas clases como: Caracteres alfanuméricos: que abarcan las dos primeras. Caracteres de texto: que abarcan las tres primeras categorías.
Sistemas de numeración Un sistema de numeración en base b utiliza b símbolos de un alfabeto y el valor de cada número dependerá de la posición que ocupe cada símbolo. Un número no será más que una secuencia de cifras (elegidas entre los b símbolos posibles). Sistemas posicionales
Sistema de numeración decimal El sistema numérico decimal tiene 10 dígitos: del 0 al 9 El sistema numérico decimal tiene como base el 10: cada posición tiene un peso de 10 ….105 104 103 102 101 100. 10-1 10-2 10-3 10-4 10-5… Ejemplo: 14.2 = 1 x 101 + 4 x 100 + 2 x 10-1
Sistema de numeración binario El sistema numérico binario tiene 2 dígitos: 0 y 1 El sistema numérico binario tiene como base el 2: cada posición tiene un peso de 2 ….25 24 23 22 21 20 . 2-1 2-2 2-3 2-4 2-5 … Ejemplo: 10111.101 = 1 x 24 +0 x 23 +1 x 22 +1 x 21 + 1 x 20+ 1 x 2-1 + +0 x 2-2 +1 x 2-3
Expresión binaria del 0 a 15
Sistema de numeración octal El sistema numérico octal tiene 8 dígitos: del 0 al 7 El sistema numérico octal tiene como base el 8: cada posición tiene un peso de 8 ….85 84 83 82 81 80. 8-1 8-2 8-3 8-4 8-5… Ejemplo: 124.7 = 1 x 82 + 2 x 81 + 4 x 80 + 7 x 8-1
Equivalencias
Sistema de numeración hexadecimal El sistema numérico hexadecimal tiene 16 dígitos: 0 …9 A..F El sistema numérico hexadecimal tiene como base el 16: cada posición tiene un peso de 16 ….165 164 163 162 161 160. 16-1 16-2 16-3 16-4 16-5… Ejemplo: 92F = 9 x 162 + 2 x 161 + 15 x 160
Equivalencias
Los primeros 256 números en las bases más importantes (I)
Los primeros 256 números en las bases más importantes (II)
Los primeros 256 números en las bases más importantes (III)
Los primeros 256 números en las bases más importantes (IV)
Rango de representación Con n bits pueden representarse 2 n números diferentes (en base 10). Con n bits el rango será [2 n -1..0] Ejemplo: Cuantos números diferentes se pueden representar con 4 bits? Con 4 bits se representan 24 es decir 16 números diferentes en el rango [15..0]
Conversión a base 10 Expresar en forma polinomial y operar en base 10 Ejemplos: BC9216) = 11x163 + 12x162 + 9x161 + 2x160 = 4827410) 1011002) = 101100.112) = 1x25 + 1x23 + 1x22 + 1x2-1 + 1x2-2 = 32 + 8 + 4 + 0,5 + 0,25 = 44,7510) 1011002) = 1x25 + 1x23 + 1x22 + 1x2-1 + 1x2-2 = 32 + 8 + 4 = 4410) 274 8) = 2x82 + 7x81 + 4x80 = 18810)
Conversión de decimal a binario 19 2 1 9 2 1 4 2 0 2 2 0 1 1910) =100112) La operación finaliza cuando el cociente es menor que la base, en este caso, menor que 2. Se toma el último cociente y los restos en orden contrario a como han ido apareciendo. Método de las divisiones sucesivas 4510) = 1011012)
Conversión de fracciones decimales a binario Método de divisiones y multiplicaciones División por 2 repetida de la parte entera da el entero en binario Multiplicación por 2 repetida de la fracción da la fracción binaria 4.28 =101101.01 con dos dígitos decimales 0.28*2=0.56 0.56*2=1.12 0.12*2=0.24
Conversión de base 10 a una base genérica a Se divide por la base a sucesivamente, tomando el último cociente y los restos en orden inverso Ejemplo: 4827410) =BC9216) 48274 en base 10 a octal 48274 =136222