Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

C - Tipo de fundición

La conversión de un tipo de datos en otro se conoce como conversión de tipos o conversión de tipos. Por ejemplo, si desea almacenar un valor 'largo' en un número entero simple, puede escribir cast 'largo' a 'int'. Puede convertir los valores de un tipo a otro explícitamente usando el operador de conversión de la siguiente manera −

(type_name) expression

Considere el siguiente ejemplo donde el operador de conversión hace que la división de una variable entera por otra se realice como una operación de punto flotante −

Demostración en vivo
#include <stdio.h>

main() {

   int sum = 17, count = 5;
   double mean;

   mean = (double) sum / count;
   printf("Value of mean : %f\n", mean );
}

Cuando el código anterior se compila y ejecuta, produce el siguiente resultado −

Value of mean : 3.400000

Cabe señalar aquí que el operador de conversión tiene prioridad sobre la división, por lo que el valor de sum primero se convierte al tipo doble y finalmente se divide por conteo dando un valor doble.

Las conversiones de tipos pueden ser implícitas, lo que el compilador realiza automáticamente, o pueden especificarse explícitamente mediante el uso del operador de conversión. . Se considera una buena práctica de programación usar el operador de conversión siempre que sea necesario realizar conversiones de tipos.

Promoción de enteros

La promoción de enteros es el proceso mediante el cual los valores de tipo entero son "menores" que int o int sin firmar se convierten a int o int sin firmar . Considere un ejemplo de agregar un carácter con un número entero −

Demostración en vivo
#include <stdio.h>

main() {

   int  i = 17;
   char c = 'c'; /* ascii value is 99 */
   int sum;

   sum = i + c;
   printf("Value of sum : %d\n", sum );
}

Cuando el código anterior se compila y ejecuta, produce el siguiente resultado −

Value of sum : 116

Aquí, el valor de sum es 116 porque el compilador está promoviendo enteros y convirtiendo el valor de 'c' a ASCII antes de realizar la operación de suma real.

Conversión aritmética habitual

Las conversiones aritméticas habituales se realizan implícitamente para convertir sus valores en un tipo común. El compilador primero realiza promoción de enteros; si los operandos todavía tienen tipos diferentes, entonces se convierten al tipo que aparece más arriba en la siguiente jerarquía −

Las conversiones aritméticas habituales no se realizan para los operadores de asignación, ni para los operadores lógicos &&y ||. Tomemos el siguiente ejemplo para entender el concepto −

Demostración en vivo
#include <stdio.h>

main() {

   int  i = 17;
   char c = 'c'; /* ascii value is 99 */
   float sum;

   sum = i + c;
   printf("Value of sum : %f\n", sum );
}

Cuando el código anterior se compila y ejecuta, produce el siguiente resultado −

Value of sum : 116.000000

Aquí, es fácil de entender que la primera c se convierte en un entero, pero como el valor final es el doble, se aplica la conversión aritmética habitual y el compilador convierte i y c en 'flotante' y los agrega para obtener un resultado 'flotante'.


Lenguaje C

  1. Conversión de tipo C#
  2. Conversión de tipos de Python y conversión de tipos
  3. Conversión de tipos de Java
  4. Tipo de datos Char de C++ con ejemplos
  5. Tipos de variables de C++
  6. C# - Tipos de datos
  7. C# - Conversión de tipo
  8. C# - Anulables
  9. C# - Atributos
  10. Comprender la fundición a presión
  11. Guía de fundición de precisión