Está en la página 1de 21

Tema 3

Tipos de datos simples


Tipos de datos básicos1
• Las variables y constantes deben definir un tipo.
• Una vez definido el tipo, no se puede cambiar de
opinión.
• El tipo define el comportamiento de los
operadores.
• Tres grandes grupos
– Numéricos
– Alfabéticos
– Enumerados

Francisco J. Veredas (13/10/04):Tipos de Datos Simples.Recuperado de


http://www.lcc.uma.es/~fvn/IntCom/tema3_2004_2005.pdf
Tipo de dato nulo1
• void
– Indica “nada”
– Es un variable sin tipo definido
– Cuando una función o programa no retorna
ningún resultado final se dice que devuelve el
tipo void.

Francisco J. Veredas (13/10/04):Tipos de Datos Simples.Recuperado de


http://www.lcc.uma.es/~fvn/IntCom/tema3_2004_2005.pdf
Tipos de datos numéricos1
• Por defecto los números se utilizan en base
decimal.
• Internamente se trabaja con números en base
binaria.
• Dos grandes diferencias
– Enteros
– Reales
• Es importante definir el espacio necesario para
almacenar un número.

Francisco J. Veredas (13/10/04):Tipos de Datos Simples.Recuperado de


http://www.lcc.uma.es/~fvn/IntCom/tema3_2004_2005.pdf
Tipos de datos numéricos1
• Entero
– int
• Real
– float
• Real con doble precisión
– double

Francisco J. Veredas (13/10/04):Tipos de Datos Simples.Recuperado de


http://www.lcc.uma.es/~fvn/IntCom/tema3_2004_2005.pdf
Modificadores1
• Para modificar el tamaño de
almacenamiento se utilizan tipos de datos
modificados
• Modificadores
– signed: reserva un bit para el signo
– unsigned: define solo valores positivos
– long: utiliza el mayor tamaño disponible
– short: utiliza el menor tamaño disponible

Francisco J. Veredas (13/10/04):Tipos de Datos Simples.Recuperado de


http://www.lcc.uma.es/~fvn/IntCom/tema3_2004_2005.pdf
Tipos de datos numéricos1
• int
– Tipo de dato entero
– Valores positivos y negativos
– Se almacena en 2 o 4 bytes
• short int (16 bits): -32.768 a 32.768
• long int (32 bits): -2.147.483.648 a 2.147.483.648
• unsigned int (32 bits): 0 a 4.294.967.296
– Se puede abreviar como “unsigned”

Francisco J. Veredas (13/10/04):Tipos de Datos Simples.Recuperado de


http://www.lcc.uma.es/~fvn/IntCom/tema3_2004_2005.pdf
Tipos de datos numéricos1
• float
– Tipo de dato real
– Precisión simple
– Valores positivos y negativos
– Se almacena en 4 bytes
• 37 dígitos para parte entera
• 6 dígitos para parte decimal
– No acepta modificadores
Francisco J. Veredas (13/10/04):Tipos de Datos Simples.Recuperado de
http://www.lcc.uma.es/~fvn/IntCom/tema3_2004_2005.pdf
Tipos de datos numéricos1
• double
– Tipo de dato real
– Precisión doble
– Valores positivos y negativos
– Se almacena en 8 bytes
• 37 dígitos para parte entera
• 10 dígitos para parte decimal
– long double (10 bytes)
Francisco J. Veredas (13/10/04):Tipos de Datos Simples.Recuperado de
http://www.lcc.uma.es/~fvn/IntCom/tema3_2004_2005.pdf
Tipos de datos numéricos1
void main(){
int a = -10;
unsigned int b = 10;
float c = 10.1;
double d = 0.000000001;
}

Francisco J. Veredas (13/10/04):Tipos de Datos Simples.Recuperado de


http://www.lcc.uma.es/~fvn/IntCom/tema3_2004_2005.pdf
Tipos de datos alfabéticos1
• Cualquier símbolo escrito se puede considerar
alfabético
• En rigor
– a..z
– A..Z
– !”.,$%&/)(^*{} etc.
• Alfanuméricos
– Se agregan los dígitos como símbolos, no como
números.
Francisco J. Veredas (13/10/04):Tipos de Datos Simples.Recuperado de
http://www.lcc.uma.es/~fvn/IntCom/tema3_2004_2005.pdf
Tipos de datos alfabéticos1
• char
– Almacena cualquier carácter “normal”
– Ocupa un byte
• Permite diferenciar 256 caracteres.
• signed char: -127 a 127
• unsigned char: 0 a 256
– El valor almacenado es el código ASCII que
representa el carácter
• Ej: @ = 64 , \ = 92 , A = 65
Teddy Alfaro(SF):Tipos de datos.Recuperado de
https://www.inf.utfsm.cl/~noell/IWI-131-p1/Tema4.pdf
Tipos de datos alfabéticos
void main(){
char c1 = 'a';
char c2 = '8'; a 8
char c3 = '\n'; @
char c4 = 64; 48 49 50
char c5 = '0';
char c6 = '1';
char c7 = '2';
printf("%c %c %c %c \n",c1,c2,c3,c4);
printf("%i %i %i \n",c5,c6,c7);
}
Conversiones de tipo1
• Al mezclar distintos tipos, hay que buscar
un común denominador
– Un tipo donde todo el resto pueda ser
representado
• Para esto, hay que convertir los valores
involucrados al mayor tipo presente
• Esto se denomina promoción de tipo
Teddy Alfaro(SF):Tipos de datos.Recuperado de
https://www.inf.utfsm.cl/~noell/IWI-131-p1/Tema4.pdf
Conversiones de tipo1
• Rangos de tipos
– long double
– louble
– float
– unsigned long
– long
– unsigned int
Teddy Alfaro(SF):Tipos de datos.Recuperado de
https://www.inf.utfsm.cl/~noell/IWI-131-p1/Tema4.pdf
Cast (molde)1
• Se puede forzar al compilador para hacer
una conversión de tipos.
• Se vera su utilidad al estudiar los
operadores.
void main(){
double d1=4.7, d2=2.4;
int i = ((int)d1)/((int)d2);

printf("%d\n", i);
}
Teddy Alfaro(SF):Tipos de datos.Recuperado de
https://www.inf.utfsm.cl/~noell/IWI-131-p1/Tema4.pdf
Tipos de datos enumerados1
• A diferencia de números y caracteres no existe
necesariamente una relación de orden.
• Ej:
– Chileno
– Argentino
– Peruano
– Boliviano
• En C, las enumeraciones se almacenan como
enteros.
• Se pueden definir sus valores numéricos.
Teddy Alfaro(SF):Tipos de datos.Recuperado de
https://www.inf.utfsm.cl/~noell/IWI-131-p1/Tema4.pdf
Tipos de datos enumerados
El nombre de la enumeracion

enum nombre {tipo1,tipo2,…,tipoN};

Elementos de la enumeración

Palabra reservada
Tipos de datos enumerados
Valor numérico del elemento

enum nombre {tipo1,tipo2=100,tipo3,…};

Aumenta de uno en uno

Tipo1=0
Tipo2=100
Tipo3=101

Tipos de datos enumerados
enum nacionalidad {argentino=25, chileno, peruano, boliviano};

void main(){
enum nacionalidad persona1;
enum nacionalidad persona2;
int chiliviano;

persona1 = chileno;
persona2 = boliviano;
chiliviano = persona1+persona2;
printf("%d + %d\n = %d", persona1, persona2, chiliviano);
}

26 + 28 = 54
BIBLIOGRAFIAS
• Francisco J. Veredas (13/10/04):Tipos de
Datos Simples.Recuperado de
http://www.lcc.uma.es/~fvn/IntCom/tema3_
2004_2005.pdf
• Teddy Alfaro(SF):Tipos de
datos.Recuperado de
https://www.inf.utfsm.cl/~noell/IWI-131-
p1/Tema4.pdf

También podría gustarte