Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Linguagem C

C - Fundição Tipo


Converter um tipo de dados em outro é conhecido como conversão de tipo ou conversão de tipo. Por exemplo, se você deseja armazenar um valor 'long' em um inteiro simples, digite cast 'long' para 'int'. Você pode converter os valores de um tipo para outro explicitamente usando o operador de conversão como segue -
(type_name) expression

Considere o exemplo a seguir onde o operador cast faz com que a divisão de uma variável inteira por outra seja executada como uma operação de ponto flutuante −
Demonstração ao vivo
#include <stdio.h>

main() {

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

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

Quando o código acima é compilado e executado, ele produz o seguinte resultado -
Value of mean : 3.400000

Deve-se notar aqui que o operador cast tem precedência sobre a divisão, então o valor de sum é convertido primeiro para o tipo double e, finalmente, é dividido por contagem, resultando em um valor duplo.

As conversões de tipo podem ser implícitas, que são executadas automaticamente pelo compilador, ou podem ser especificadas explicitamente através do uso do operador de conversão . É considerado uma boa prática de programação usar o operador cast sempre que forem necessárias conversões de tipo.

Promoção de números inteiros


A promoção de inteiros é o processo pelo qual os valores do tipo inteiro são "menores" que int ou int não assinado são convertidos para int ou int não assinado . Considere um exemplo de adição de um caractere com um inteiro −
Demonstração ao 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 );
}

Quando o código acima é compilado e executado, ele produz o seguinte resultado -
Value of sum : 116

Aqui, o valor de sum é 116 porque o compilador está fazendo a promoção de inteiros e convertendo o valor de 'c' para ASCII antes de realizar a operação de adição real.

Conversão aritmética usual


As conversões aritméticas usuais são executados implicitamente para converter seus valores em um tipo comum. O compilador primeiro realiza a promoção de inteiros; se os operandos ainda tiverem tipos diferentes, eles serão convertidos para o tipo que aparece mais alto na hierarquia a seguir -

As conversões aritméticas usuais não são realizadas para os operadores de atribuição, nem para os operadores lógicos &&e ||. Tomemos o seguinte exemplo para entender o conceito -
Demonstração ao 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 );
}

Quando o código acima é compilado e executado, ele produz o seguinte resultado -
Value of sum : 116.000000

Aqui, é simples entender que o primeiro c é convertido para inteiro, mas como o valor final é o dobro, a conversão aritmética usual se aplica e o compilador converte i e c em 'float' e os adiciona produzindo um resultado 'float'.

Linguagem C

  1. Conversão de tipo C#
  2. Conversão de tipo Python e conversão de tipo
  3. Cast de tipo Java
  4. Tipos de variáveis ​​C++
  5. C# - Tipos de dados
  6. C# - Conversão de tipo
  7. C# - Nullables
  8. C# - Atributos
  9. Noções básicas sobre fundição
  10. Guia de fundição de precisão