Hemos visto en el tema anterior como un programa es algo muy fácil, claro el ejemplo era muy fácil, pero se trataba de dejar visto, que es así.
Ahora vamos a ver que en el tema anterior hemos utilizado datos, pero que en realidad los datos son algo más.
Los datos en un programa es uno de los elementos vitales del mismo, pero en la vida cotidiana los utilizamos a diario también, si nos fijamos en los datos que utilizamos, nos daremos cuenta que son letras y números, números solo o solo letras.
También, cuando a lo largo del día alguien nos da un dato pequeño, normalmente no memorizamos, pero si es largo o complejo, lo apuntamos, ¿Por qué?, por que tenemos nuestras limitaciones, por la edad, por lo despistados que somos etc..
Los ordenadores también disponen de memoria, y también manejan información, datos, y en función de lo voluminosos que sean los datos, los almacenarán en la memoria central del ordenador, o en un soporte, en el disco duro o lo grabaremos en un disquete o disco compacto, etc..
Informáticamente los datos son de dos tipos básicos, números y letras, o numéricos y alfanuméricos.
Con los datos numéricos realizamos operaciones de cálculo y con los alfanuméricos representamos información y la almacenamos para el uso en el programa.
El dato numérico utilizará en memoria un espacio adecuado para el valor que puede tomar.
Como la memoria en un ordenador es vital, conviene aprovecharla al máximo.
Un valor numérico puede tomar un valor desde cero, olvidemos los números negativos, hasta ...., hasta un valor que es imposible escribir, o sea, infinito.
Pero eso en un ordenador es imposible de asumir.
Por lo tanto lo que hacemos es que creamos rangos, y a cada rango le asignamos un tipo de dato.
¿Cómo se crean los rangos?
Pensemos en que un ordenador solo sabe utilizar un uno y un cero, ausencia de voltaje y presencia de voltaje eléctrico, sistema binario, pero nosotros utilizamos lo que denominamos el sistema decimal, es decir diez elementos en lugar de dos.
En este sistema, cada uno de los dígitos utilizados se denomina bit, (Binary digit).
Por lo tanto para almacenar un número del cero al nueve, necesitaremos una combinación de ceros y unos que permitan representar cada uno de esos números, y como son diez, se necesitan diez combinaciones.
0 0
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000
9 1001
Esa sería la combinación para representar los diez dígitos del cero al nueve.
Cada uno de esos dígitos los denominamos bits, por lo tanto el cinco necesita tres bits para representarlo.
Si siguiéramos esa secuencia podríamos ir creando todos los números decimales en binario.
Estos bit se agrupan en grupos de
1 bit.
4 bit un cuarteto.
8 bit un octeto, un octeto es un byte.
1024 bytes, es un Kilobyte. Kb.
1024 Kb son un Megabyte, Mgb
1024 Mgb. son un Gigabyte.
Si nos preguntamos porque se usa 1024 en lugar de 1000, la respuesta es que hay que buscar bloques de 8 bits, que son un byte, 1024 es 2 10 .
Los datos alfanuméricos no tiene problema en su representación, pues cada carácter ocupa un byte en memoria, tantos caracteres tantos bytes, dentro de las limitaciones del lenguaje de programación que se este utilizando.
El motivo de utilizar un byte para cada carácter es que el número de caracteres máximo distintos en un idioma latino, o anglosajon, tomando los números como caracteres independientes, incluidos letras acentuadas y caracteres de puntuación no supera los 256, con un byte podemos obtener 256 combinaciones distintas, del 0 al 255.
Actualmente se utiliza un sistema de dos bytes que de forma unilateral implanto una empresa de software, por lo cual, aunque nosotros usemos un carácter para almacenarlo se utilizarían dos.
Esto permite que se puedan representar hasta 65535 combinaciones de símbolos, necesario para los lenguajes orientales, que usan símbolos en lugar de letras.
Pero los números son datos compactos, no se pueden andar separando de forma arbitraria, ya que hay que realizar operaciones de cálculo con ellos, por lo tanto han de ocupar uno, dos o x bytes, pero contiguos, para así poder operar matemáticamente.
Por lo tanto los números que podemos representar en un sistema dependerá del número de bytes que pongamos juntos para representar ese número.
Por ejemplo si ponemos un solo byte a disposición del sistema, solo podremos representar números entre el 0 y el 255. Un byte son 8 bits, las combinaciones son 28 que es igual a 256, que son los números que podemos representar.
Como eso es muy pobre, el rango más pequeño que se utiliza es el de dos bytes, que permiten manejar números entre –32767 y + 32768, como números enteros.
Aunque eso parece un rango muy pequeño, en programación los números enteros se usan para contar cosas, y en un porcentaje muy elevado de casos es suficiente ese rango, siempre que se haga un uso adecuado de los recursos.
Claro la pregunta sale sola ¿ pero números hay .... ? , claro que hay más, pero esos ya se han dado en clasificar en otro tipo de datos, los llamados números reales.
Los números reales se representan con otro sistema, no creeremos que se puede asignar espacio en memoria para el número 12345678901234567890, o bien para el 0,12345678901234567890, eso no es factible.
Por lo tanto en función del tamaño del espacio usado en memoria se puede abarcar más o menos valores.
Esta tabla muestra los valores máximos y mínimos en función del número de bytes utilizados en lun lenguaje de programación..
Pensemos que hace años un número entero utilizaba dos bytes, ahora en los lenguajes modernos utiliza 4, por lo que se aumenta el número de valores posibles válidos.
Síguenos en: Facebook Sobre aulaClic Política de Cookies