Vous êtes sur la page 1sur 8

Actividad 4.

ESTABLECER LAS REGLAS PARA LA CONVERSIN


DE TIPOS (CASTING) EN EXPRESIONES.

Una de las preguntas que algunos nos hemos hecho cuando escribimos
expresiones numricas en las que no todos los operandos son del mismo tipo.
Por ejemplo:
Char n;
Int a,b,c,d;
Float r,s,t;

a = 10;
b = 100;
r = 1000;
c = a+b;
s = r+a;
d = r+b;
d = n+a+r;
t = r+a s +c;
En estos casos, cuando los operandos de cada operacin binaria asociados a un
operador son de distinto tipo, el compilador los convierte a un tipo comn. Existen
reglas que rigen estas conversiones, y aunque pueden cambiar ligeramente de un
compilador a otro, en general sern ms o menos as:
Cualquier tipo entero pequeo como char o short es convertido a int o unsigned int.
En este punto cualquier pareja de operandos ser int (con o sin signo), long, long
long, double, float o long double.
1 Si un operando es de tipo long double, el otro se convertir a long double.
2 Si un operando es de tipo double, el otro se convertir a double.
3 Si un operando es de tipo float, el otro se convertir a float.
4 Si un operando es de tipo unsigned long long, el otro se convertir a unsigned
long long.
5 Si un operando es de tipo long long, el otro se convertir a long long.
6 Si un operando es de tipo unsigned long, el otro se convertir a unsigned
long.
7 Si un operando es de tipo long, el otro se convertir a long.
8 Si un operando es de tipo unsigned int, el otro se convertir a unsigned int.
9 Llegados a este punto ambos operandos son int.

Veamos ahora el ejemplo:


c = a + b caso 10, ambas son int.
s = r + a caso 4, a se convierte a float.
d = r + b caso 4, b se convierte a float.
d = n + a + r caso 1, n se convierte a int, la operacin resultante corresponde al
caso 4, el resultado (n+a) se convierte a float.
t = r + a s + c caso 4, a se convierte a float, caso 4 (r+a) y s son float, caso 4, c se
convierte a float.
Tambin se aplica conversin de tipos en las asignaciones, cuando la variable
receptora es de distinto tipo que el resultado de la expresin de la derecha.
En el caso de las asignaciones, cuando la conversin no implica prdida de
precisin, se aplican las mismas reglas que para los operandos, estas conversiones
se conocen tambin como promocin de tipos. Cuando hay prdida de precisin,
las conversiones se conocen como democin de tipos. El compilador normalmente
emite un aviso o warning, cuando se hace una democin implcita, es decir cuando
hay una democin automtica.
En el caso de los ejemplos 3 y 4, es eso precisamente lo que ocurre, ya que estamos
asignando expresiones de tipo float a variables de tipo int.
Ejemplos:

1.- Programa que realiza cast de numero entero a


decimal(double)

El hecho de colocar entre parntesis el tipo de dato al que se realizara el casting


significa que en este caso obtendremos su versin double de dicha variable. Ya
que si utilizamos su parte entera solo obtendramos Cero.
2.- Realizacin de cast de entero a double.

El cast de esta variable nos permite obtener la parte entera solamente de la variable
barra la cual es decimal sin la necesidad de poner el .0
3.- cast de variable Char que nos permite obtener la versin
byte o la versin en Char.
Como ya hemos visto el casting hace referencia a la conversin entre tipos de
variables, valores dentro de un lenguaje, en esta ocasin c# nos permite obtener el valor
en bytes del carcter A
Conclusin.

Dentro de la realizacin de estas actividades que comprenden la unidad nmero


uno podemos destacar el uso de operadores dentro de las operaciones y la
capacidad del compilador de reconocerlos, as como realizar la funcin de estos, el
establecimiento de reglas para realizar la conversin entre distintos tipos de
variables, o como se conoce al Casting. Para as hacer uso de los valores arrojados
una vez realizada su conversin.
De igual manera podemos recalcar que el analizador semntico tiene varis
objetivos, uno de ellos es el de hacer comprobaciones que no se realizan dentro del
anlisis lxico o sintctico, tambin aclarar que la gramtica dentro del lenguaje
establecido es el aspecto con mayor importancia ya que gracias a estas normas
podremos definir nuestras tablas de smbolos adems de permitirnos generar los
distintos anlisis a las entradas dentro del analizador.
Referencias

Bibliografa
c, p. e. (s.f.). conversion de tipos (casting). webcindario.

microsoft. (08 de marzo de 2017). microsoft.com. Obtenido de https://docs.microsoft.com/en-


us/dotnet/csharp/programming-guide/types/casting-and-type-conversions

Vous aimerez peut-être aussi