Вы находитесь на странице: 1из 21

TRABAJO DE PROGRAMACION

CONVERSION DE TIPOS DE DATOS Y MODIFICADORES DE TIPOS DE DATOS

MODIFICADORES DE TIPO DE DATOS


Los tipos de datos bsicos pueden tener distintos modificadores, para rango y signo: Signed Unsigned Long Short

Signed
Sintaxis: signed <tipo> <identificador> ; El modificador de tipo signed define que el valor de una variable numrica puede ser positivo o negativo. Este modificador puede ser aplicado a los tipos bsicos int, char, long, short .

Ejemplos:
signed int i; // signed es valor por defecto (no es preciso) int i; // equivalente al anterior signed i; // equivalente al anterior unsigned long int l; unsigned long l; // equivale al anterior

Unsigned
Sintaxis: unsigned <tipo> <identificador> ; Este modificador se utiliza cuando la variable sea siempre positiva. Puesto que no es necesario almacenar el signo, el valor absoluto puede ser mayor que en las versiones con signo

Ejemplos: unsigned int i; unsigned i; // equivale al anterior unsigned long int l; unsigned long l; // Equivale al anterior unsigned char ch; char ch; // Equivale al anterior

Long
Sintaxis: long [int] <identificador> ; [long] double <identificador> ;

Cuando se utiliza este modificador sobre un int, crea un tipo que dobla el espacio de almacenamiento utilizado para almacenar un int [1]. Cuando se utiliza para modificar un double, define un tipo de dato de coma flotante, long double, con 80 bits de precisin.

Existen los siguientes tipos de long:

long x; // x es signed long int long int x; // x es signed long int signed long x; // x es signed long int signed long int x; // x es signed long int unsigned long x; // x es unsigned long int unsigned long int x; // x es unsigned long int

Short
Sintaxis: short int <identificador> ;

El modificador short se utiliza cuando se desea una variable menor que un int. Este modificador solo puede aplicarse al tipo base int (si se omite el tipo base, se asume int por defecto).

Existen los siguientes tipos:


short x; // x es signed short int short int x; // x es signed short int signed short x; // x es signed short int signed short int x; // x es signed short int unsigned short x; // x es unsigned short int unsigned short int x; // x es unsigned short int

Tipo

Bits 16

Rango -32.767 a 32.767 0 a 65.535

int unsigned int

16 -32.768 a 32.767 signed int short int unsigned short int signed short int 16 16 -32.768 a 32.767 0 a 65.535 16 -32.768 a 32.767 16 -2147483648 a 2147483648 log int 32 -2147483648 a 214748367 signed long int 32

Char Unsigned char Signed char

8 8 8

-128 a 127 0 a 255 -128 a 127

CONVERSIN DE TIPOS DE DATOS

Con frecuencia se necesita convertir un valor de un tipo a otro sin cambiar el valor que representa. Las conversiones de tipos pueden ser implcitas(ejecutadas automticamente) o explcitas(solicitadas especficamente por el programador). C hace muchas conversiones de tipos automticamente: C convierte valores cuando se asigna un valor de un tipo a una variable de otro tipo. C convierte valores cuando se combinan tipos mixtos en expresiones. C convierte valores cuando se pasan argumentos a funciones.

CONVERSIN EXPLCITA
El compilador de C++ modifica automticamente el formato de una variable en las operaciones en modo mixto que utilizan tipos de datos diferentes. Sin embargo , pueden aparecer circunstancias en las que no se realiza de forma automtica, la conversin y sea deseable poder realizarla. Para estas situaciones, se debe indicar, de forma especfica la intencin de realizar un modificacin de tipo. Adems estas especificaciones explcitas ayudan a los programadores a determinar las instrucciones que incluyen. El Lenguaje C proporciona diferentes procedimientos que permiten determinar la conversin de tipos que se debe realizar.

Se denomina operador cast(operador de conversion de tipos). Siempre que se quiera modificar, de forma temporal, el formato de una variable, simplemente se coloca delante del identificador de la variable el tipo, entre parntesis , al que desea convertir el citado identificador.

Conversin explcita de tipos utilizando el operador de conversin de tipo (cast)

Ejemplo:
fresultado= fvalor + (float)ivalor1/ivalor2; fresultado= fvalor + i(valor1)/(float)ivalor2; fresultado= fvalor + (float)ivalor1/(float)ivalor2;

ivalor1 e ivalor2 se definieron del tipo int f valor y fresultado del tipo float Las tres instrucciones realizan una conversion a coma flotante y llevan a cabo la divisin entre las variables ivalor1 e ivalor2 . Teniendo en cuenta las reglas habituales de la aritmtica en modo mixto, se tiene que si una variable se convierte a tipo float, se realiza una divisin en coma flotante. La tercera instruccin destaca, de forma explcita, la operacin que se va a realizar.

OPERADORES "CHECKED" Y "UNCHECKED"


Los operadores checked y unchecked, se utilizan para controlar la verificacin de ovewflow, de operaciones y conversiones aritmticas. + Expresin Verificada: - checked ( expression ) + Expresin no Verificada: - unchecked ( expression )

REGLAS DE CONVERSIN
Estas reglas se aplican a operaciones aritmticas entre dos operadores con distintos tipos de datos: 1.- Si uno de los operandos es long double, el otro ser convertido a double y el resultado ser un long double. 2.- Si uno de los operandos es double, el otro ser convertido a double y el resultado ser double. 3.- Si uno de los operadores es float, el otro sera convertido a float y el resultado ser float .

6.- Si uno de los operandos es long int, el otro sera convertido a long int y el resultado sera long int. 7.- Si uno de los operandos es unsigned int, el otro sera convertido a unsigned int y el resultado sera unsigned int.

Ejemplo
#include<stdio.h> void main(){ int a; float b=15.5; a=b;

printf("float a =%f int a=%d ",b,a);