Programación Instituto Tecnológico de Celaya LOS SISTEMAS DE REPRESENTACIÓN NUMÉRICA Es común escuchar que las computadoras utilizan el sistema binario para representar cantidades e instrucciones. En esta sección se describen las ideas principales en este sentido. Los sistemas de representación numérica más usados son el sistema binario, el sistema octal, el sistema hexadecimal y, por supuesto, el sistema decimal. Sistema decimal En cuanto al problema de representar cantidades numéricas, el sistema decimal es el sistema tradicional. Recordemos que en este sistema, una cantidad cualquiera, por ejemplo 1798, en realidad se lee como: 1 x 103 + 7 x 102 + 9 x 101 + 8 x 100 Observe la diferencia entre == los 1 x 1000 + 7 x 100 + 9 x 10 + 8 x 1 diversos conceptos involucrados: La representación de la cantidad en el sistema decimal (1798) y las "cifras" que componen su representación en este "sistema de numeración" (en este caso cuatro cifras: 1, 7, 9 y 8 colocadas en un cierto orden). En este sistema, el valor de las cifras viene complementado por su posición en el conjunto (se dice que el sistema es posicional), de forma que el valor total de una expresión viene representado por el producto de su valor-base (0 a 9) multiplicado por la potencia de 10 que corresponda según su posición. Al final se suman los resultados parciales. Resulta así que, en el sistema decimal, la cantidad más alta que se puede representar mediante una cantidad de cuatro cifras (como ejemplo), nnnn, es como máximo: 9 x 103 + 9 x 102 + 9 x 101 + 9 x 100 == 9999 Es fácil verificar que un número decimal de n dígitos puede representar como máximo a 10n números (en el caso del ejemplo, para 4 dígitos, 10 4 = 10000). Ejemplo:1534 Ingeniería Química Programación Instituto Tecnológico de Celaya Valor posicional 103 102 101 100 4 en 100 4 3 en 101 3 5 en 102 1 en 103 5 1 4 x 100 4 3 x 101 30 5 x 102 500 1 x 103 1000 Sistema binario El sistema binario puede representar también cualquier cantidad basándose en cifras que solo pueden tener dos valores, 0 y 1. Es importante resaltar que las características físicas de los dispositivos electrónicos (como las computadoras) hacen que sea fácil representar con ellos a cantidades en el sistema binario. Para lograr esto se hace corresponder los dos posibles valores de la variable binaria con los dos estados físicos de un circuito o dispositivo. Por ejemplo, con los estados de circuito abierto (1) o cerrado (0); magnetizado (1) no magnetizado (0); con luz (1), sin luz (0); etc. Esta es la razón por la cual las computadoras utilizan el sistema binario. En cambio, el sistema decimal no es muy adecuado para los dispositivos electrónicos, puesto que aquí, al ser un sistema de base 10, cada cifra pueden tener diez valores distintos (0 al 9) y sería complicada asignar cada valor a un estado físico de algún dispositivo electrónico. El sistema binario es exactamente análogo al decimal, con la diferencia de la base de las potencias y de los posibles valores para cada cifra (0 ó 1). En el sistema binario la nueva base es 2 (en vez de 10 como en aquel caso). Por ejemplo, la cantidad binaria 11100000110 se lee: 1x210 + 1x29 + 1x28 + 0x27 + 0x26 + 0x25 + 0x24 + 0x23 + 1x22 + 1x21 + 0x20 Se puede probar que el número anterior resulta igualmente en el número "mil setecientos noventa y ocho". Ingeniería Química La capacidad de representación en el sistema Programación Instituto Tecnológico de Celaya binario es, sin embargo, menor que en el decimal. Así, una cantidad binaria de 4 dígitos puede representar como máximo al número: 1 x 23 + 1 x 22 + 1 x 21 + 1 x 20 == 15 En el caso de la numeración binaria, también es fácil verificar que un número de n dígitos puede representar como máximo a 2 n números (en el caso del ejemplo, para 4 dígitos, 24 = 16). Ejemplo: el número binario 1011 es igual al número decimal 11 Valor posicional 23 22 21 20 1 en 20 1 1 x 20 1 1 en 21 1 0 en 22 1 en 23 Valor decimal 0 1 1 x 21 2 0 x 22 0 1 x 23 8 Otros sistemas de representación numérica Además del binario (sistema "natural" del ordenador), en la literatura informática y en los programas se utilizan otras formas de numeración (sobre todo para representar valores constantes). La más común de ellas es el sistema hexadecimal. El sistema hexadecimal, como los anteriores, también es posicional. En este caso el valor de la posición viene dado por potencias de 16 (160, 161, 162,…). Como sólo poseemos 10 caracteres para representar los posibles dígitos, se añaden las letras A, B, C, D, E y F. Por tanto en base 16 disponemos de los siguientes caracteres 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A = 10, B = 11, C = 12, D = 13, E = 14, y F = 15. Ingeniería Química Programación Instituto Tecnológico de Celaya Como ejemplo, el número A52F corresponde al número 42287 en base decimal. Valor posicional 163 162 161 160 F en 160 F 2 en 161 2 5 en 162 5 A en 163 Valor decimal F x 160 15 2 x 161 32 5 x 162 1280 A A x 163 40960 Conversión de Números en el Sistema Decimal a los Sistemas Binario y Hexadecimal Al Sistema Binario Si lo que queremos es convertir un número decimal a binario, dividiremos sucesivamente el valor decimal por 2 hasta llegar a 1. Los restos de las divisiones nos indicarán el valor binario. El siguiente ejemplo corresponde a la conversión del número 52 en base decimal al sistema binario División Cociente Resto 52 / 2 26 0 26 / 2 13 0 13 / 2 6 1 6/2 3 0 3/2 1 1 1 1 110100 Ingeniería Química Programación Instituto Tecnológico de Celaya Sistema Hexadecimal Para realizar la conversión al sistema decimal se sigue un método similar al anterior, sólo que ahora se realiza divisiones entre 16. Véase el ejemplo de la Tabla para el número 33210 = 14C 16 División Cociente Resto 332 / 16 20 12 = C 20 / 16 4 1 1 1 Almacenamiento interno Una magnitud que solo puede tener dos valores se denomina bit (abreviatura de "Binary digit"). Un bit es la menor cantidad de información que puede concebirse en una computadora, y su abreviatura es b, por ejemplo: 10 Kb son 10000 bits. Resulta así que un interruptor que puede estar encendido o apagado es (puede ser) un almacenamiento de 1 bit de información (basta con hacer corresponder "encendido" con el valor 1 y "apagado" con el valor 0). Tradicionalmente el almacenamiento interno de los ordenadores se realiza en grupos de 8 (o múltiplos de 8) cifras binarias (bits); estos conjuntos (octetos) son la menor cantidad de información que trata el ordenador con entidad propia y reciben el nombre de bytes (suele abreviarse con B). Por ejemplo, 16 Kb y 16 KB. Se refieren a 16000 bits y 128000 bits respectivamente. Podemos usar un símil para entenderlo: Aunque nuestro alfabeto tiene 26 caracteres no se utilizan aislados, para que tengan significado se utilizan en grupos (palabras), los ordenadores utilizan también palabras, solo que estas son siempre de la misma longitud (8, 16, 32 o 64 bits según el modelo de procesador). Según lo anterior, un octeto (una "palabra" de 8 bits), 1 Byte, puede almacenar un número tan grande como 28 = 256, lo que deriva en que si, por ejemplo, Ingeniería Química Programación Instituto Tecnológico de Celaya reservamos una palabra de 8 bits para "describir" (contener) una variable, sabemos de antemano que dicha variable no va a poder adoptar nunca mas de 256 estados distintos. Esto unido al hecho de que la forma de representación interna utiliza el sistema binario y los elementos y circuitos físicos son igualmente binarios (pueden adoptar solo dos estados) hacen que las potencias de dos: 8, 16, 32, 64 etc. son "números mágicos" en el mundo de las computadoras. Ingeniería Química