Type Casting en Lenguaje C

Type casting es una forma de convertir una variable de un tipo de datos a otro tipo de datos. Por ejemplo, si quieres almacenar un valor largo en un simple entero entonces puedes hacer un typecast de long a int. Puedes convertir valores de un tipo a otro explícitamente usando el operador cast. Hay dos tipos de cast de tipos en el lenguaje c que son Conversiones implícitas y Conversiones explícitas. En este artículo, también aprendemos sobre la diferencia entre el casting de tipo y las conversiones de tipo.

El nuevo tipo de datos debe ser mencionado antes del nombre de la variable o el valor entre paréntesis que será typecast.

Programa de ejemplo de conversión de tipos en C:

En el siguiente programa en C, 7/5 por sí solo producirá un valor entero como 1.
Por lo tanto, la conversión de tipos se realiza antes de la división para mantener el valor del flotador (1,4).

1 #include <stdio.h>
2 int main ()
3 {
4 float x;
5 x = (float) 7/5;
6 printf(«%f»,x);
7 }

Salida:
1.400000

Convertir una expresión de un tipo dado en otro tipo se conoce como type casting. el typecasting es más utilizado en la programación del lenguaje c.

Aquí, es la mejor práctica para convertir un tipo de datos más bajo a un tipo de datos más alto para evitar la pérdida de datos.

Los datos se truncarán cuando el tipo de datos más alto se convierte en más bajo. Por ejemplo, si un float se convierte en int, los datos que están presentes después del punto decimal se perderán.

Hay dos tipos de type casting en el lenguaje c.

Tipos de typecasting en C

.

S.No Tipos de encasillamiento de tipos en la programación en C
1 Conversión implícita
2 Conversión explícita

Conversión implícita

Las conversiones implícitas no requieren ningún operador para su conversión. Se realizan automáticamente cuando un valor se copia a un tipo compatible en el programa.

Aquí, el valor de a ha sido promovido de int a double y no hemos tenido que especificar ningún operador de fundición de tipo. Esto se conoce como una conversión estándar.

Ejemplo :-

1 #include<stdio.h>
2 #include<conio.h>
3 void main()
4 {
5 int=20;
6 double p;
7 clrscr();
8
9 p=i; // conversión implícita
10
11 printf(«el valor implícito es %d»,p);
12
13 getch();
14 }

Salida:-
el valor implícito es 20.

Conversión explícita

En el lenguaje C, muchas conversiones, especialmente las que implican una interpretación diferente del valor, requieren una conversión explícita. Ya hemos visto dos notaciones para la conversión explícita de tipos.

No se realizan automáticamente cuando se copia un valor a un tipo compatible en el programa.

Ejemplo :-

1 #include<stdio.h>
2 #include<conio.h>
3 void main()
4 {
5 int=20;
6 short p;
7 clrscr();
8
9 p = (short) i; // Conversión explícita
10
11 printf(«El valor explícito es %d»,p);
12
13 getch();
14 }

Salida:-
El valor explícito es 20.

Conversión aritmética habitual

Las conversiones aritméticas habituales se realizan implícitamente para fundir sus valores en un tipo común, C utiliza la regla de que en todas las expresiones, excepto en las asignaciones, cualquier conversión de tipo implícita realizada de un tipo de tamaño inferior a un tipo de tamaño superior, como se muestra a continuación:

Casteo de tipos en el lenguaje C

Funciones de casteo de tipos incorporadas en C:

Hay muchas funciones de casteo de tipos incorporadas disponibles en el lenguaje C que realizan la conversión de tipos de datos de un tipo a otro.

.

S.No Función de fundición de tipos Descripción
1 atof() Convertir cadena a Float
2 atoi() Convertir cadena a int
3 atol() Convertir cadena a long
4 itoa() Convertir int en string
5 ltoa() Convertir long to string

Recientemente estamos haciendo una encuesta a diferentes programadores que están disponibles en las redes sociales de google plus. Hicimos una encuesta para el casting de tipo en el lenguaje c.

Diferencia entre el casting de tipo y la conversión de tipo

Cuando hay una necesidad de convertir un tipo de datos a otro los dos términos viene en nuestra mente «typecasting» y «conversión de tipo». Cuando los dos tipos son compatibles entre sí, entonces la conversión de un tipo a otro se hace automáticamente por el compilador que es la conversión de tipo frío, pero recuerda que podemos almacenar un tipo de datos grande en el otro, por ejemplo, no podemos almacenar un flotador en int porque un flotador es mayor que int. mientras que, typecasting se debe hacer explícitamente por el programador.

BASES DE COMPARACIÓN CONVERSIÓN DE TIPOS CONVERSIÓN DE TIPOS
Definición Cuando un usuario puede convertir un tipo de datos en otro entonces se llama como el typecasting. La conversión de tipos es la que convierte automáticamente un tipo de datos en otro.
Implementado Se implementa en dos tipos de datos ‘incompatibles’. Sólo se implementa cuando dos tipos de datos son ‘compatibles’.
Operador Para el casting de un tipo de datos a otro, se requiere un operador de casting ‘()’. No se requiere ningún operador.
Implementado Se realiza durante el diseño del programa. Se realiza explícitamente durante la compilación.
Tipo de conversión Conversión de estrechamiento. Conversión de ensanchamiento.
Ejemplo int x;
byte y;


y= (byte) x;
int x=3;
float y;
y=a; // valor en y=3.000.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.