Conversión de tipos en C – Part 1

Una conversión de tipo es básicamente una conversión de un tipo a otro. Hay dos tipos de conversión de tipos:

  1. Conversión de tipo implícita

    También conocido como ‘conversión automática de tipos’.

    • Realizado por el compilador por su cuenta, sin ningún disparador externo por parte del usuario.
    • Generalmente tiene lugar cuando en una expresión está presente más de un tipo de datos. En tal condición, la conversión de tipo (promoción de tipo) tiene lugar para evitar la pérdida de datos.
    • Todos los tipos de datos de las variables se actualizan al tipo de datos de la variable con el tipo de datos más grande.
          
             bool -> char -> short int -> int -> 
             unsigned int -> long -> unsigned -> 
             long long -> float -> double -> long double
      
    • Es posible que las conversiones implícitas pierdan información, los signos se pueden perder (cuando firmado se convierte implícitamente en sin firmar) y se puede producir un desbordamiento (cuando long long se convierte implícitamente en float).

    Ejemplo de conversión implícita de tipos:

    // An example of implicit conversion
    #include<stdio.h>
    int main()
    {
        int x = 10;    // integer x
        char y = 'a'// character c
      
        // y implicitly converted to int. ASCII 
        // value of 'a' is 97
        x = x + y;
         
        // x is implicitly converted to float
        float z = x + 1.0;
      
        printf("x = %d, z = %f", x, z);
        return 0;
    }

    Producción:

    x = 107, z = 108.000000
  1. Conversión de tipo explícita

    Este proceso también se denomina conversión de tipos y está definido por el usuario. Aquí el usuario puede escribir el resultado para convertirlo en un tipo de datos particular.

    La sintaxis en C:

    (type) expression

    Tipo indica el tipo de datos al que se convierte el resultado final.

    // C program to demonstrate explicit type casting
    #include<stdio.h>
      
    int main()
    {
        double x = 1.2;
      
        // Explicit conversion from double to int
        int sum = (int)x + 1;
      
        printf("sum = %d", sum);
      
        return 0;
    }

    Producción:

    sum = 2

    Ventajas de la conversión de tipo

    • Esto se hace para aprovechar ciertas características de las jerarquías de tipos o las representaciones de tipos.
    • Nos ayuda a calcular expresiones que contienen variables de diferentes tipos de datos.
Artículos relacionados:

Este artículo es una contribución de Ankita Dutta . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo y enviarlo por correo electrónico a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *