Conversão entre tipos de dados
Em C existem duas maneiras de converter um tipo de dado em outro: conversão implícita e conversão explícita (casting)
Ocorre automaticamente quando mistura diferentes tipos de dados em uma expressão. O compilador converte os tipos de dados para realizar a operação de acordo com o que o programador escreveu.
#include <stdio.h>
int main() { int a = 10; float b = 3.5; float resultado = a + b; // 'a' é convertido implicitamente para float
printf("Resultado: %.2f\n", resultado);
return 0;}Explicação da saída: a saída do programa mostra que a soma de a (10) e b (3.5) resulta em 13.50. A variável inteira a foi automaticamente convertida para float na expressão a + b, permitindo que o resultado seja um número de ponto flutuante. O que efetivamente ocorre neste processo é que o valor de a (10) é promovido internamente para 10.0 (um float) antes da soma ser realizada.
A conversão explícita é feita usando operadores de casting para forçar a conversão de um tipo de dado para outro.
#include <stdio.h>
int main() { int a = 10; int b = 3; float quociente = (float) a / b; // 'a' é explicitamente convertido para float
printf("Quociente: %.2f\n", quociente);
return 0;}Explicação da saída: a saída do programa mostra que a divisão de a (10) por b (3) resulta em 3.33. A variável a foi explicitamente convertida para float antes da divisão, garantindo que o resultado fosse um valor de ponto flutuante.
Para garantir que suas operações aritméticas sejam realizadas corretamente e evitar problemas de precisão e perda de dados, abaixo algumas práticas recomendadas para seguir:
- Sempre verifique os tipos de dados ao realizar operações aritméticas para evitar resultados inesperados.
- Utilize casting explícito para garantir que as operações sejam realizadas no tipo de dado correto.
- Cuidado com a precisão: Lembre-se de que variáveis de ponto flutuante podem introduzir erros de precisão. Use double para maior precisão quando necessário.