Representación de los datos¶
Los primeros ordenadores nacieron como potentes calculadoras, aunque su uso se ha ido extendiendo hacia otros campos, como es el caso de la inteligencia artificial, tratamiento de imágenes, y un largo etcétera.
Considerando sus origenes, es fácil deducir que los datos numéricos son el terreno donde mejor se maneja un ordenador. A estos se les suele llamar, dependiendo del lenguaje de programación, datos simples, básicos o primitivos, por ser los que un chip de CPU puede manejar de forma natural.
A la información más elaborada, que generalmente consiste en paquetes de datos, se le denomina datos agregados, aunque cada lenguaje de programación tiene su forma de categorizar los distintos tipos de datos. Ejemplo de este tipo de datos son los textos o las imágenes.
Centrémonos en los datos básicos. Ya hemos visto que por regla general un dato suele representarse con 8 bits, pero esto nos limita a números que van desde 00000000
a 11111111
. En sistema decimal, de 0 a 255. ¿Que pasa si necesitamos números más grandes? Habrá que reservar más espacio en la memoria RAM del ordenador. En general hay cuatro tipos de datos:
- Los que ocupan un byte (8 bits). Por ejemplo, podemos representar la edad de una persona sin dificultades.
- Los que ocupan 16 bits en la memoria. Podemos representar 65.536 valores diferentes.
- Los que ocupan 32 bits en la memoria. Se puede representar hasta cuatro mil millones de posibles valores.
- Utilizando 64 bits de memoria podemos representar números realmente grandes, suficientes para cualquier cálculo.
Los superordenadores son incluso capaces de representar usar bloques más grandes, de 80 o de 128 bits, por ejemplo, pero eso va más allá del alcance de este cuaderno.
Para localizar un dato en la memoria RAM, los bytes están numerados. La posición cero corresponde al primer byte de la memoria. De esta forma, se convierte en una especie de enorme casillero donde en cada casilla se almacena un byte, que se localiza por su número de orden.
A estas referencias se les llama direcciones de memoria. Para localizar un dato necesitamos indicar en las instrucciones de nuestro programa cual es su ubicación y como interpretar la secuencia de ceros y unos. ¿Representa un número entero? ¿Un número con decimales? ¿Es uno de los caracteres de un texto? ¿Es alguna otra cosa? ¿Cuantos bytes ocupa el dato?
En los próximos capítulos veremos como representar cada tipo de dato.