Tipos de datos
Clases de tipos de datos
Tipos de datos primitivos (o elementales):
Los tipos de datos hacen referencia al tipo de información que se trabaja, donde la unidad mínima de almacenamiento es el dato, también se puede considerar como el rango de valores que puede tomar una variable durante la ejecución del programa.
Caracteres
El tipo de dato carácter es un dígito individual el cual se puede representar como numéricos (0 al 9), letras (a-z) y símbolos (!"$&/\).
Tipo de dato Rango Tamaño en memoria
char 1 8 bits por carácter
Caracteres unicode
El tipo de dato carácter unicode es una "extensión" del tipo de dato cadena, permite ampliar los símbolos de escritura, provee exactamente hasta 65535 caracteres diferentes.
Nota: En el lenguaje java la codificación Unicode permite trabajar con todos los caracteres de distintos idiomas.
Tipo de dato Rango Tamaño en memoria
short 0 a 65535 16 bits por carácter
Numéricos
Este tipo de dato puede ser real o entero, dependiendo del tipo de dato que se vaya a utilizar.
Enteros: son los valores que no tienen punto decimal, pueden ser positivos o negativos y el cero.
Tipo de dato Tamaño en memoria
byte 8 bits
short 16 bits
int 32 bits
long 64 bits
Reales: estos caracteres almacenan números muy grandes que poseen parte entera y parte decimal.
Tipo de dato Tamaño en memoria
float 32 bits
double 64 bits
estos serían sus rangos y tamaños ordenados
Booleanos
Este tipo de dato se emplea para valores lógicos, los podemos definir como datos comparativos dicha comparación devuelve resultados lógicos (Verdadero o Falso).
Tipo de dato Tamaño en memoria
boolean 8 bits
Tipos compuestos
Los tipos compuestos se derivan de uno o más datos primitivos. A las distintas maneras de formar o combinar estos datos se les conocen con el nombre de “Estructura de datos”. Al combinarlo podemos crear un nuevo tipo, por ejemplo:
"array-de-enteros" es distinto al tipo "entero".
- Un Vector (o arreglo del original en inglés array) almacena un número de elementos del mismo tipo en un orden específico. Los arrays pueden ser estáticos (con una medida fija) o dinámicos (crecer durante su ciclo de vida).
- Un Registro o Tupla.
- Un Conjunto.
Tipos de datos en distintos lenguajes
Pascal
El lenguaje de programación Pascal permite declarar variables de tipo carácter (Cadena) y numérica. Como se puede apreciar, todas las variables excepto la de tipo Cadena son de tipo numéricas (incluyendo Booleano).
Nombre | Memoria requerida | Rango | Descripción |
---|---|---|---|
Booleano | 1bit | 1 ~ 0 | Verdad - Falso |
Byte | 1 byte (8 Bits) | 0 ~ 255 | Byte sin signo. |
ByteSig | 1 byte (8 Bits) | (-128) ~ 127 | Byte con signo. |
Word | 2 byte (16 Bits) | 0 ~ 65.535 | Word sin signo. |
WordSig | 2 byte (16 Bits) | (-32768) ~ 32767 | Word con signo. |
Entero | 4 byte (32 Bits) | 0 ~ 4.294.967.295 | Entero sin signo. |
EnteroSig | 4 byte (32 Bits) | (-2.147.483.648) ~ 2.147.483.647 | Entero con signo. |
Real | 8 byte (64 Bits) | (-1,79769313486232^308) ~ (-4.94065645841247^-324) | Número con coma flotante de doble precisión |
Decimal | 8 byte (64 Bits) | (-922.337.203.685.477,5800) ~ 922.337.203.685.477,5800 | Número con coma fija de 4 decimales. |
Cadena | 1 byte por carácter | 0 ~ 2.000 millones de caracteres | Cadena de caracteres alfanumérica. |
Java
El lenguaje de programación Java permite declarar variables de tipo primitivo, pero dada que los envoltorios de dichas funciones presentan muchas operaciones útiles, es más común hacer uso de las clases que las tratan.
Nombre | Declaración | Memoria requerida | Rango | Descripción |
---|---|---|---|---|
Booleano | boolean | - | true - false | Define una bandera que puede tomar dos posibles valores: true o false. |
Byte | byte | 1 byte (8 Bits) | [-128 .. 127] | Representación del número de menor rango con signo. |
Entero pequeño | short | 2 byte (16 Bits) | [-32,768 .. 32,767] | Representación de un entero cuyo rango es pequeño. |
Entero | int | 4 byte (32 Bits) | [-231 .. 231-1] | Representación de un entero estándar. Este tipo puede representarse sin signo usando su clase Integer a partir de la Java SE 8. |
Entero largo | long | 8 byte (64 Bits) | [-263 .. 263-1] | Representación de un entero de rango ampliado. Este tipo puede representarse sin signo usando su clase Long a partir de la Java SE 8. |
Real | float | 4 byte (32 Bits) | [±3,4·10-38 .. ±3,4·1038] | Representación de un real estándar. Recordar que al ser real, la precisión del dato contenido varía en función del tamaño del número: la precisión se amplia con números más próximos a 0 y disminuye cuanto más se aleja del mismo. |
Real largo | double | 8 byte (64 Bits) | [±1,7·10-308 .. ±1,7·10308] | Representación de un real de mayor precisión. Double tiene el mismo efecto con la precisión que float. |
Carácter | char | 2 byte (16 Bits) | ['\u0000' .. '\uffff'] o [0 .. 65.535] | Carácter o símbolo. Para componer una cadena es preciso usar la clase String, no se puede hacer como tipo primitivo. |
Tipos abstractos
No hay que confundir estos tipos de datos con los tipos de datos abstractos.
Los TDA siguen una interfaz que especifica que hace ese tipo de datos (la estructura de datos sería la implementación concreta). Formalmente se trata de un modelo matemático para tipos de datos que están definidos por su comportamiento o semántica. A nivel de usuario se puede ver como el esquema de los datos y operaciones para manipular los elementos que componen ese tipo de datos. La estructura de datos sería la representación concreta de los datos.
Enlace:
Gracias.
Comentarios
Publicar un comentario