Latest web development tutorials

yesos C

Moldes de la variable se convierte de un tipo a otro tipo de datos. Por ejemplo, si desea almacenar el valor de un tipo largo de un simple número entero, tiene que escribir mucho pasarlo al tipo int. Se puede utilizar eloperador de conversión para poner explícitamente valores de un tipo en otro tipo, de la siguiente manera:

(type_name) expression

Considere los siguientes ejemplos, el uso del operador de conversión obligatoria a una variable entera por otra variable entera, obtener un flotador:

#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 se compila y ejecuta, produce los siguientes resultados:

Value of mean : 3.400000

Para tener en cuenta es el operador de conversión tiene prioridad sobre la división, por lo que el valor de lasuma se convierte primero en un doble, yluego dividir el recuento, obtener un valor de tipo double de.

Conversiones de tipos pueden ser implícitas, realizado automáticamente por el compilador, puede ser explícita, se especifica mediante eloperador de conversión.En la programación, hay una necesidad de gastar operador de conversión de conversión de tipo de tiempo, es una buena práctica de programación.

promoción integral

Se refiere a la promoción integral es inferior aint o unsigned inttipo entero se convierte ainto el procesoentero sin signo.Consideremos el siguiente ejemplo, añadir un carácter en un int:

#include <stdio.h>

main()
{
   int  i = 17;
   char c = 'c'; /* ascii 值是 99 */
   int sum;

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

}

Cuando el código se compila y ejecuta, produce los siguientes resultados:

Value of sum : 116

Aquí, suma del valor de 116, porque el compilador ha sido promoción integral cuando se realiza la operación de suma real, el valor de 'c' convierte en el valor ASCII correspondiente.

conversiones aritméticas habituales

conversiones aritméticas habituales se convierte implícitamente al valor del mismo tipo.El compilador realiza primeraelevación entero, si los operandos de diferentes tipos, que se convierten en la siguiente jerarquía aparece más alto nivel Tipo:

La conversión aritmética habitual

conversiones aritméticas habituales no se aplican al operador de asignación, los operadores lógicos && y ||. Veamos los siguientes ejemplos para entender este concepto:

#include <stdio.h>

main()
{
   int  i = 17;
   char c = 'c'; /* ascii 值是 99 */
   float sum;

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

}

Cuando el código se compila y ejecuta, produce los siguientes resultados:

Value of sum : 116.000000

Aquí, c se convierte primero en un entero, pero debido al último valor es el doble de tipo, por lo que se aplican las conversiones aritméticas habituales, será i y C se convierte el compilador a flotar, y ponerlos juntos para obtener un número de coma flotante .