Tipos de Datos :)

Tipos de Datos

El compilador de C reconoce unos tipos de datos estándar como enteros, flotante y carácter. Estos tipos de datos son:
  • char: ocupa un byte en memoria, se suele utilizar para almacenar caracteres, pues el ASCII-E usa exactamente 8 bits para representar un caracter. (-128 a +127 ó 0 a 255).
  • int: ocupa 4 bytes y es actualmente el tamaño de la palabra de un ordenador de 32 bits, salvo que se esté en posesión de un ordenador de 64 bits con un SO que lo soporte (-2^31 a 2^31-1 ó 0 a 2^32-1).
  • long ó long int: generalmente ocupa dos palabras (64 bits u 8 bytes) pero depende del ordenador.
  • float: ocupa una palabra y se usa para representar números reales dado que su rango es mucho mayor, usaremos este tipo para la representación de números reales.
  • double: ocupa dos palabras y tiene una capacidad mucho mayor que un float.
  • short: ocupa dos bytes en memoria, lo usaremos exclusivamente cuando vayamos a necesitar grandes cantidades de memoria y nos sobre precisión, si no, utilizaremos o el int o char, por cuestiones de arquitectura del ordenador (-2^15 a 2^15-1 ó 0 a 2^16-1).
  • unsigned: se usa para especificar que la variable no tiene signo, por lo que "aumenta" su capacidad en cuanto a número positivos.
  • void: esto no es un tipo de dato en sí mismo, pero se usa para determinar que una función no recibe parámetros o no devuelve un resultado. No pueden existir variables del tipo void.
TipoRangoBytes
char-128 ... 127 (ASCII)1
int-32.768 ... 32.7674
long-2.147.483.648 ... 2.147.483.6478
float3.4*10^-38 ... 3.4*10^384
double1.7*10^-308 ... 1.7*10^3088
voidValor nulonulo
la sintaxis para declarar variables o constantes con los diferentes tipos de datos es:
tipo_de_dato nombre_variable;


Tipos de datos y tamaños

D proporciona tipos de datos básicos para los números enteros y constantes de coma flotante. La aritmética sólo se puede realizar en números enteros en los programas de D. Las constantes de coma flotante se pueden utilizar para inicializar las estructuras de datos, sin embargo, la aritmética de coma flotante no está permitida en D. D proporciona un modelo de datos de 32 y 64 bits para utilizar al escribir programas. El modelo de datos utilizado al ejecutar el programa es el modelo de datos original asociado con el núcleo del sistema operativo activo. Puede determinar el modelo de datos original para el sistema utilizando isainfo -b.
En la siguiente tabla se muestran los nombres de los tipos de número entero y sus tamaños en cada uno de los dos modelos de datos. Los números enteros se representan en un formato de parejas complementarias en el orden de codificación de bytes original del sistema.
Tabla 2–2 Tipos de datos de números enteros de D
Nombre de tipo Tamaño de 32–bits Tamaño de 64–bits 
char1 byte 1 byte 
short2 bytes 2 bytes 
int4 bytes 4 bytes 
long4 bytes 8 bytes 
long long8 bytes 8 bytes 

Los tipos de número entero se pueden prefijar con el calificador signed o unsigned. Si no hay ningún calificador de signo presente, se asume que el tipo es signed (con signo). El compilador de D también proporciona los alias de tipo que se indican en la siguiente tabla:
Tabla 2–3 Alias de tipo de número entero de D
Nombre de tipo Descripción 
int8_tNúmero entero con signo de 1 byte 
int16_tNúmero entero con signo de 2 bytes 
int32_tNúmero entero con signo de 4 bytes 
int64_tNúmero entero con signo de 8 bytes 
intptr_tNúmero entero con signo de tamaño igual a un puntero 
uint8_tNúmero entero sin signo de 1 byte 
uint16_tNúmero entero sin signo de 2 bytes 
uint32_tNúmero entero sin signo de 4 bytes 
uint64_tNúmero entero sin signo de 8 bytes 
uintptr_tNúmero entero sin signo de tamaño igual a un puntero 

Estos tipos de alias son equivalentes a la utilización del nombre del tipo base correspondiente en la tabla anterior, y se definen adecuadamente para cada modelo de datos. Por ejemplo, el nombre de tipo uint8_t es un alias para el tipo unsigned char. Consulte el Capítulo 8Definiciones de tipos y constantes para obtener más información sobre cómo definir sus propios alias de tipo para utilizarlos en los programas D.
D proporciona tipos de coma flotante para ofrecer compatibilidad con las declaraciones y tipos de ANSI-C. Los operadores de coma flotante no se admiten en D, sin embargo, se puede realizar un seguimiento y dar formato a los objetos de datos de coma flotante utilizando la función printf. () Se pueden utilizar los tipos de coma flotante que se indican en la siguiente tabla:
Tabla 2–4 Tipos de datos de coma flotante en D
Nombre de tipo Tamaño de 32–bits Tamaño de 64–bits 
float4 bytes 4 bytes 
double8 bytes 8 bytes 
long double16 bytes 16 bytes 


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 caracter 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).
NombreMemoria requeridaRangoDescripción
Booleano1bit1 ~ 0Verdad - Falso
Byte1 byte (8 Bits)0 ~ 255Byte sin signo.
ByteSig1 byte (8 Bits)(-128) ~ 127Byte con signo.
Word2 byte (16 Bits)0 ~ 65.535Word sin signo.
WordSig2 byte (16 Bits)(-32768) ~ 32767Word con signo.
Entero4 byte (32 Bits)0 ~ 4.294.967.295Entero sin signo.
EnteroSig4 byte (32 Bits)(-2.147.483.648) ~ 2.147.483.647Entero con signo.
Real8 byte (64 Bits)(-1,79769313486232^308) ~ (-4.94065645841247^-324)Número con coma flotante de doble precisión
Decimal8 byte (64 Bits)(-922.337.203.685.477,5800) ~ 922.337.203.685.477,5800Número con coma fija de 4 decimales.
Cadena1 byte por carácter0 ~ 2.000 millones de caracteresCadena 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.
NombreDeclaraciónMemoria requeridaRangoDescripción
Booleanoboolean-true - falseDefine una bandera que puede tomar dos posibles valores: true o false.
Bytebyte1 byte (8 Bits)[-128 .. 127]Representación del número de menor rango con signo.
Entero pequeñoshort2 byte (16 Bits)[-32,768 .. 32,767]Representación de un entero cuyo rango es pequeño.
Enteroint4 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 largolong8 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.
Realfloat4 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 largodouble8 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ácterchar2 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.





Comentarios

Publicar un comentario

Entradas populares