O que é casting?
Passo 1
Beleza, a questão é simples: “O que é casting?” Estamos na área de programação e falando especificamente de conversão de tipos (type conversion). Para resolver isso a gente vai precisar entender o que são tipos de dados (como
int
, float
, double
, char
etc.) e como o programa transforma um valor de um tipo em outro.Passo 2
Primeiro de tudo, casting nada mais é do que forçar a conversão de um valor de um tipo para outro.
- Quando você tem, por exemplo, um número inteiro (
int
) e quer tratá-lo como ponto flutuante (float
oudouble
), ou vice-versa. - Existem dois jeitos de converter: implicitamente (o compilador faz sozinho) e explicitamente (você fala “faz isso aqui”).
Passo 3
Vamos ver o implicit casting (conversão automática):
- O compilador sabe que transformar um tipo “menor” em um “maior” não perde informação.
- Exemplo em C/C++/Java:
Em notação de fórmula:int a = 5; double b = a; // a é “subido” pra double sem você pedir // b agora vale 5.0
Aqui não precisamos escrever nada especial, o compilador faz por conta própria.
Passo 4
Agora o explicit casting (quando você precisa forçar a barra):
- Se você vai de um tipo “maior” pra um “menor” (por exemplo, de
double
paraint
), pode perder informação decimal. - Então você tem que falar “por favor, converta”.
- Sintaxe típica em C/C++/Java:
Na forma de fórmula em LaTeX:double x = 7.8; int y = (int)x; // explicit cast // y agora vale 7, a parte .8 foi descartada
Sem esse “(int)” o compilador geralmente reclama de incompatibilidade de tipos.
Resposta
Casting é o ato de converter um valor de um tipo de dado para outro, seja de forma implícita (quando o compilador faz sozinho) ou explícita (quando você força com uma sintaxe de cast, como
(int)
ou (double)
).