Representacion De Datos En Memoria
Enviado por rosemarycarvajal • 20 de Marzo de 2012 • 8.337 Palabras (34 Páginas) • 2.069 Visitas
Datos en memoria
Los datos que manejan los programas varían continuamente, y esto exige que la memoria que los contiene debe ser de lectura y escritura, por lo que la memoria RAM estática (SRAM) es la más adecuada, aunque sea volátil.
Hay micro controladores que disponen como memoria de datos una de lectura y escritura no volátil, del tipo EEPROM. De esta forma, un corte en el suministro de la alimentación no ocasiona la pérdida de la información, que está disponible al reiniciarse el programa. El PIC16F84 dispone de 64 bytes de memoria EEPROM para contener datos.
Tipos de datos
Cuando en C, se dice que un objeto es de un tipo, se quiere decir que ese objeto pertenece a un conjunto específico de valores con los cuales se pueden realizar un conjunto de operaciones también determinadas. Existen cinco tipos básicos: carácter, entero, coma flotante, coma flotante de doble precisión y void.
Los demás tipos se basan en alguno de estos tipos básicos. El tamaño y el rango de estos tipos de datos varían con cada tipo de procesador y con la implementación del compilador de C. El tipo void, o bien declara explícitamente una función como que no devuelve valor alguno, o bien crea punteros genéricos.
La siguiente tabla muestra todas las combinaciones que se ajustan al estándar ANSI junto con sus rangos mínimos y longitudes aproximadas en bits.
Tipo: Tamaño en bits Rango
char: 8 -127 a 127
unsigned char: 8 0 a 255
signed char: 8 -127 a 127
int: 16 -32767 a 32767
unsigned int: 16 0 a 65535
signed int: 16 -32767 a 32767
short int: 16 -32767 a 32767
unsigned short int: 16 0 a 65535
signed short int: 16 -32767 a 32767
long int: 32 -2147483647 a 2147483647
signed long int: 32 -2147483647 a 2147483647
unsigned long int: 32 0 a 4294967295
float: 32 seis dígitos de precision
double: 64 diez dígitos de precision
long double: 64 diez dígitos de precision
C utiliza unos tipos de elementos creados, como son las enumeraciones, estructuras, uniones y estructuras y tipos definidos por el usuario. Las enumeraciones son listas de constantes enteras con nombre. Para crear una enumeración se utiliza la palabra reservada enum. La sintaxis es la siguiente: enum identificador {lista de nombres};
En una enumeración, el primer valor tiene, por defecto, el valor 0; el segundo nombre 1, y así sucesivamente. Este valor se puede cambiar por el programador, por ejemplo: 8-enum
pájaros {gorrion=10, petirrojo=20, águila=30}; enum pájaros pajaro_1;
Clasificaciones en los tipos de datos
En Pascal existen gran variedad y cantidad de tipos de datos. Pero en este tutorial sólo se trataran los básicos para que puedas ir construyendo tus primeros programas.
Existen muchas clasificaciones para los tipos de datos, y dependiendo de la fuente que mires, te mostrarán una u otra. A continuación tienes una de las posibles clasificaciones:
• Tipos estáticos
Casi todos los tipos de datos son estáticos, la excepción son los punteros y no se tratarán debido a su complejidad. Que un tipo de datos sea estático quiere decir que el tamaño que ocupa en memoria no puede variar durante la ejecución del programa. Es decir, una vez declarada una variable de un tipo determinado, a ésta se le asigna un trozo de memoria fijo, y este trozo no se podrá aumentar ni disminuir.
• Tipos dinámicos:
Dentro de esta categoría entra solamente el tipo puntero. Este tipo te permite tener un mayor control sobre la gestión de memoria en tus programas. Con ellos puedes manejar el tamaño de tus variables en tiempo de ejecución, o sea, cuando el programa se está ejecutando. Los punteros quizás sean el concepto más complejo a la hora de aprender un lenguaje de programación, sobre todo si es el primero que aprendes. Debido a esto, no lo trataremos. Además, lenguajes que están muy de moda (por ejemplo Java) no permiten al programador trabajar con punteros.
• Tipos simples:
Como su nombre indica son los tipos básicos en Pascal. Son los más sencillos y los más fáciles de aprender. Por todo esto, serán en los que nos centremos. Los tipos simples más básicos son: entero, lógico, carácter y real. Y la mayoría de los lenguajes de programación los soportan, no como ocurre con los estructurados que pueden variar de un lenguaje a otro.
• Tipos estructurados
Mientras que una variable de un tipo simple sólo referencia a un elemento, los estructurados se refieren a colecciones de elementos. Las colecciones de elementos que aparecen al hablar de tipos estructurados son muy variadas: tenemos colecciones ordenadas que se representan mediante el tipo array, colecciones sin orden mediante el tipo conjunto, e incluso colecciones que contienen otros tipos, son los llamados registros.
• Tipos ordinales
Dentro de los tipos simples, los ordinales son los más abundantes. De un tipo se dice que es ordinal porque el conjunto de valores que representa se puede contar, es decir, podemos establecer una relación uno a uno entre sus elementos y el conjunto de los números naturales.
Dentro de los tipos simples ordinales, los más importantes son:
• El tipo entero (integer)
• El tipo lógico (boolean)
• El tipo carácter (char)
• Tipos no-ordinales
Simplificando, podríamos reducir los tipos simples no-ordinales al tipo real. Este tipo nos sirve para declarar variables que pueden tomar valores dentro del conjunto de los números reales.
A diferencia de los tipos ordinales, los no-ordinales no se pueden contar. No se puede establecer una relación uno a uno entre ellos y los número naturales. Dicho de otra forma, para que un conjunto se considere ordinal se tiene que poder calcular la posición, el anterior elemento y el siguiente de un elemento cualquiera del conjunto. ¿Cuál es el sucesor de 5.12? Será 5.13, o 5.120, o 5.121.
Los tipos básicos que nos interesan
Después de ver una de las posibles clasificaciones para los tipos de datos, pasemos a ver los que nos interesan: los tipos simples. Realmente de los tipos simples veremos los más básicos, que son: integer, boolean, char y real. Además, también hablaremos un poco de las cadenas de caracteres, los llamados strings.
• El tipo integer (entero)
Como ya habrás leído el tipo de datos entero es un tipo simple, y dentro de estos, es ordinal. Al declarar una variable de tipo entero, estás creando una variable numérica que puede tomar valores positivos o negativos, y sin parte decimal.
Este tipo de variables, puedes utilizarlas en asignaciones, comparaciones, expresiones
...