0% encontró este documento útil (0 votos)
121 vistas

Tipos de Datos Informatica Chort Char

El documento describe los tipos de datos fundamentales en C, incluyendo enteros (int, short, long), caracteres (char), flotantes (float, double) y void. Explica que cada tipo de datos ocupa una cantidad diferente de memoria y puede tomar un rango específico de valores. También cubre los modificadores como signed y unsigned que afectan el rango de valores permitidos.

Cargado por

tavimayr
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
121 vistas

Tipos de Datos Informatica Chort Char

El documento describe los tipos de datos fundamentales en C, incluyendo enteros (int, short, long), caracteres (char), flotantes (float, double) y void. Explica que cada tipo de datos ocupa una cantidad diferente de memoria y puede tomar un rango específico de valores. También cubre los modificadores como signed y unsigned que afectan el rango de valores permitidos.

Cargado por

tavimayr
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 10

2.4) Tipos de Datos.

Una variable es un objeto del lenguaje cuyo valor se puede cambiar.


Antes de utilizar una variable ésta debe de ser declarada. Al declarar
una variable, se le asocia un identificador, es decir, un nombre, con un
tipo de almacenamiento cuya forma determina la visibilidad y
existencia de la variable.

El tipo de la variable nos indica el conjunto de valores que puede


tomar y las operaciones que pueden realizarse con ella. Existen cinco
tipos de datos básicos en C:

Tipos de
Descripción Memoria
Datos

2 bytes o una palabra


int Cantidad entera (varía según
compilador).

char Carácter 1 byte.

float Almacena valores reales en punto flotante. 1 palabra (4 bytes).

double Almacena valores reales en doble precisión. 2 palabras (8 bytes).

Se utiliza para definir una función que no


void devuelve ningún valor o declarar punteros
genéricos (lo veremos más tarde).
Estos tipos básicos admiten una modificación del rango de valores,
aplicando las siguientes palabras reservadas:

short (corto).

long (largo).

signed (con signo).

unsigned (sin signo).

Las modificaciones se aplican a los tipos int y char, a excepción del


modificador long que también puede aplicarse al tipo double. Las
posibles combinaciones son:

Número
TIPO Rango
de bits
char 8 -128 a 127
unsigned char 8 0 a 255
signed char 8 -128 a 127
short 16 -32768 a 32767
int 16 -32768 a 32767
unsigned int 16 0 a 65535
signed int 16 -32768 a 32767
short int 16 -32768 a 32767

unsigned short int 16 0 a 65535


signed short int 16 -32768 a 32767

-2147483648 a
long int 32
2147483647
-2147483648 a
signed long int 32
2147483647
unsigned long int 32 0 a 4294967295
-2147483648 a
long 32
2147483647
unsigned long 32 0 a 4294967295
float 32 3.4E-38 a 3.4E+38
1.7E-308 a
double 64
1.7E+308
64 ó 80 1.7E-308 a
long double (según 1.7E+308 ó 3.4E-
versión). 4932 a 1.1E+4932

NOTA: En esta tabla mostramos los valores más típicos, hansido


cogidos de Turbo C, sin embargo, estos pueden variar de un
compilador a otro.

Esto nos sirve simplemente para, ahorrar memoria en algunos casos


en los que la variable que vamos a usar sepamos a ciencia cierta que
no va a tomar valores muy grandes; o por el contrario
usar long o double para evitar que se nos desborde el Rango del que
disponemos.

El tipo char se utiliza para representar caracteres individuales. Por


tanto, el tipo char requiere sólo un byte de memoria. Cada
tipo char tiene una interpretación como entero equivalente, de esta
forma un char es una clase especial de entero pequeño. En la mayoría
de los compiladores el entero tipo char puede tomar valores entre 0 y
255. También se puede utilizar datos unsigned char (con valores de 0 a
255) o datos signed char (con valores de -128 a 127).
Ejemplos 1:

int abajo
/* Estoy declarando dos variables de tipo entero.*/
arriba;
/* Declaro dos variables enteras sin signo, lo que
significa que si el Rango de un entero está entre: -
unsigned int
32768 y 32767; en un entero sin signo su parte
fahr,celsius;
negativa la uso en la positiva, estando su Rango
entre: 0 y 65535. */

Ejemplo 2:

short int a,b,c;


long int r, s, t;
int p,q;

/* Algunos compiladores reservan menos espacio de memoria para


las variables a, b ,c que para p, y q. Los valores típicos son 2 bytes
para las variables declaradas como short int, y 4 bytes (una palabra)
para cada variable int. De forma semejante, algunos compiladores
reservan espacio de memoria adicional para las variables r,s y t,
declaradas como long int. Es un valor típico el de 2 palabras (8
bytes), por tanto los valores permitidos para r, s, y t serán mayores
que los permitidos para p y q si utilizamos un compilador de este
tipo.*/

3 Tipos de Datos
C utiliza 5 palabras reservadas para definir los tipos de datos fundamentales. A
diferencia de Pascal, un determinado tipo de datos puede ir cualificado por un
conjunto de modificadores que estudiaremos más adelante.
Los tipos de datos fundamentales son:

char short int int


long int unsigned char unsigned short
int
unsigned int unsigned long int double
float long float void
Figura 5 Tipos de datos fundamentales

char Representa un carácter en código ASCII, también se puede


interpretar como
un entero.

short int Indica un entero de tamaño corto.

int Entero igual que integer en Pascal.

long int Entero largo.

unsigned short int Como short int pero sin signo.

unsigned int Como int pero sin signo.

unsigned long int Como long int pero sin signo.

float Flotante corto. Análogo al single de Pascal.

double Flotante largo. Análogo al double de Pascal.

void No indica ningún tipo. Es el tipo de las funciones que no


devuelven nada.

Los tipos short int, long int, unsigned int y long float se pueden escribir como:
short, long, unsigned y double.

Con respecto al tamaño que ocupan en memoria variables de estos tipos, todo lo
que garantiza C es:
sizeof(char) = 1
sizeof(short) <= sizeof(int) <= sizeof(long)
sizeof(unsigned) = sizeof(int)
sizeof(float) =< sizeof(double)

Donde sizeof es un operador que está incorporado en C y devuelve el número de


bytes que tiene un objeto.

Hay un grupo de modificadores que indican la forma que se almacena una


determinada variable de un determinado tipo. Se indica antes del tipo de la
variable.

static
Cuando se invoca a una función por segunda vez se pierden los valores que las
variables locales de la función tenían al acabar la anterior llamada. Declarando
una variable de este tipo cuando se llama por segunda vez a la subrutina la
variable static (estática) contiene el mismo valor que al acabar la llamada
anterior.

auto
Es lo mismo que si no se usara ningún modificador

volatile
El compilador debe asumir que la variable está relacionada con un dispositivo y
que puede cambiar de valor en cualquier momento.

register
El compilador procurará almacenar la variable cualificada de este modo en un
registro de la CPU.

extern
La variable se considera declarada en otro fichero. No se le asignará dirección ni
espacio de memoria.

lases de tipos de datos[editar]


Tipos de datos primitivos (o elementales)[editar]
Artículo principal: Tipos de datos primitivos
No debe confundirse con Tipo de dato abstracto.
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[editar]
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 0 a 255 8 bits por carácter

Caracteres unicode[editar]
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[editar]
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[editar]
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[editar]
Los tipos compuestos se derivan de uno o más datos primitivos. Las distintas maneras formas
de combinar-se reciben el nombre de Estructura_de_datos. Al hacerlo podemos creamos un
tipo nuevo, p.ej. 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[editar]


Pascal[editar]
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).

Memoria
Nombre Rango Descripción
requerida

Booleano 1bit 1~0 Verdad - Falso

1 byte (8
Byte 0 ~ 255 Byte sin signo.
Bits)

1 byte (8
ByteSig (-128) ~ 127 Byte con signo.
Bits)

2 byte (16
Word 0 ~ 65.535 Word sin signo.
Bits)

2 byte (16
WordSig (-32768) ~ 32767 Word con signo.
Bits)
4 byte (32
Entero 0 ~ 4.294.967.295 Entero sin signo.
Bits)

4 byte (32
EnteroSig (-2.147.483.648) ~ 2.147.483.647 Entero con signo.
Bits)

Número con coma


8 byte (64 (-1,79769313486232^308) ~ (-
Real flotante de doble
Bits) 4.94065645841247^-324)
precisión

8 byte (64 (-922.337.203.685.477,5800) ~ Número con coma


Decimal
Bits) 922.337.203.685.477,5800 fija de 4 decimales.

Cadena de
1 byte por
Cadena 0 ~ 2.000 millones de caracteres caracteres
carácter
alfanumérica.

Java[editar]
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.

Memoria
Nombre Declaración Rango Descripción
requerida

Define una bandera que


Booleano boolean - true - false puede tomar dos posibles
valores: true o false.

1 byte (8 [-128 .. Representación del número


Byte byte
Bits) 127] de menor rango con signo.

Representación de un
Entero 2 byte (16 [-32,768 ..
short entero cuyo rango es
pequeño Bits) 32,767]
pequeño.

Entero int Representación de un


4 byte (32 [-231 .. 231-
entero estándar. Este tipo
Bits) 1] puede representarse sin
signo usando su
clase Integer a partir de la
Java SE 8.

Representación de un
entero de rango ampliado.
Entero 8 byte (64 [-263 .. 263- Este tipo puede
long
largo Bits) 1] representarse sin signo
usando su clase Long a
partir de la Java SE 8.

Representación de un real
estándar. Recordar que al
ser real, la precisión del
dato contenido varía en
[±3,4·10-
4 byte (32 38 .. función del tamaño del
Real float
Bits) número: la precisión se
±3,4·1038]
amplia con números más
próximos a 0 y disminuye
cuanto más se aleja del
mismo.

Representación de un real
[±1,7·10-
Real 8 byte (64 308 .. de mayor precisión. Double
double
largo Bits) tiene el mismo efecto con la
±1,7·10308]
precisión que float.

Carácter o símbolo. Para


['\u0000' .. componer una cadena es
2 byte (16
Carácter char '\uffff'] o [0 preciso usar la clase String,
Bits)
.. 65.535] no se puede hacer como
tipo primitivo.

También podría gustarte