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

Programación en C: Dominando la Conversión y Casting de Tipos

Convertir un tipo de dato en otro se conoce como casting o conversión de tipos. Por ejemplo, si desea almacenar un valor long en un entero simple, puede hacer casting de long a int. Puede convertir valores de un tipo a otro explícitamente usando el operador de casting de la siguiente forma:

(nombre_tipo) expresión

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

#include <stdio.h>
main() {
    int sum = 17, count = 5;
    double mean;
    mean = (double) sum / count;
    printf("Value of mean : %f\n", mean );
}

Al compilar y ejecutar, produce:

Value of mean : 3.400000

Debe tenerse en cuenta que el operador de casting tiene precedencia sobre la división, por lo que el valor de sum se convierte primero al tipo double y finalmente se divide por count, produciendo un valor double.

Las conversiones de tipos pueden ser implícitas (realizadas automáticamente por el compilador) o explícitas mediante el operador de casting. Se considera una buena práctica usar el operador de casting siempre que sean necesarias conversiones de tipos.

Promoción de Enteros

La promoción de enteros es el proceso por el cual los valores de tipo entero "más pequeños" que int o unsigned int se convierten a int o unsigned int. Considere un ejemplo de suma de un carácter con un entero:

#include <stdio.h>
main() {
    int i = 17;
    char c = 'c'; /* valor ascii 99 */
    int sum;
    sum = i + c;
    printf("Value of sum : %d\n", sum );
}

Al compilar y ejecutar, produce:

Value of sum : 116

Aquí, el valor de sum es 116 porque el compilador realiza la promoción de enteros y convierte el valor de 'c' a su código ASCII antes de realizar la suma.

Conversión Aritmética Habitual

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

Programación en C: Dominando la Conversión y Casting de Tipos

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

#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 );
}

Al compilar y ejecutar, produce:

Value of sum : 116.000000

Aquí es fácil entender que primero c se convierte a entero, pero como el valor final es double, se aplica la conversión aritmética habitual y el compilador convierte i y c a float y los suma, produciendo un resultado float.

Lenguaje C

  1. La Guía Definitiva de Fundición de Precisión: Técnicas y Aplicaciones
  2. Fundición a Presión Explicada: Precisión, Eficiencia y Beneficios de Producción
  3. Dominando la Conversión de Tipos en C#: Implícita, Explícita, Parse y Métodos Convert
  4. Dominando el tipo de dato char en C++: Declaración, ASCII y técnicas de conversión
  5. Tipos de Variables en C++ Explicados: Memoria, Límites y Operaciones
  6. Guía Completa de Tipos de Datos en C#: Valor, Referencia y Punteros
  7. Conversión de tipos en C#: Conversión implícita y explícita explicada
  8. Tipos anulables en C#: Manejo seguro de valores null
  9. Atributos en C#: Mejora tu código con metadatos
  10. Dominando conversión y casting de tipos en Python: Guía completa
  11. Dominando el Casting de Tipos en Java: Desde Ensanchamiento hasta Estrechamiento y Más Allá