Os dois termos tipo de fundição e a conversão de tipo são usados em um programa para converter um tipo de dados em outro tipo de dados. A conversão do tipo de dados só é possível pelo compilador quando eles são compatíveis entre si. Vamos discutir a diferença entre conversão de tipo e conversão de tipo em qualquer linguagem de programação.
O que é uma conversão de tipo?
Quando um tipo de dados é convertido em outro tipo de dados por um programador ou usuário enquanto escreve um código de programa de qualquer linguagem de programação, o mecanismo é conhecido como tipo de fundição . O programador o utiliza manualmente para converter um tipo de dados em outro. É usado se quisermos alterar o tipo de dados de destino para outro tipo de dados. Lembre-se de que o tipo de dados de destino deve ser menor que o tipo de dados de origem. Portanto, também é chamada de conversão restritiva.
Sintaxe:
Destination_datatype = (target_datatype) variable; (data_type) it is known as casting operator
Tipo_de_dados de destino: É o tipo de dados no qual queremos converter o tipo de dados de destino. A variável define um valor que será convertido no tipo target_data. Vamos entender o conceito de conversão de tipo com um exemplo.
Suponha que queremos converter o flutuador tipo de dados em interno tipo de dados. Aqui, o tipo de dados de destino é menor que os dados de origem porque o tamanho dos interno é de 2 bytes e o tamanho do flutuador o tipo de dados é de 4 bytes. E quando o alteramos, o valor da variável float é truncado e convertido em uma variável inteira. A conversão pode ser feita com um tipo de dados compatível e não compatível.
float b = 3.0; int a = (int) b; // converting a float value into integer
Vamos entender a conversão de tipos através de um programa C.
AreaOfRectangle.c
#include #include void main() { printf(' Welcome to Javatpoint tutorials '); float x = 3.5, y = 4.5; // the size of float variable is 4 byte. int area; // the size of the int variable is 2 bytes. area = (int) x * y; // after conversion the product converts into integer printf(' Area of a Rectangle is : %d', area); printf(' Here, we convert float data type into the Int data type'); getch(); }
Saída:
O que é conversão de tipo?
Se um tipo de dados for convertido automaticamente em outro tipo de dados em tempo de compilação, isso é conhecido como conversão de tipo. A conversão é realizada pelo compilador se ambos os tipos de dados forem compatíveis entre si. Lembre-se de que o tipo de dados de destino não deve ser menor que o tipo de origem. Também é conhecido como ampliando conversão do tipo de dados.
Vamos entender a conversão de tipo com um exemplo.
Suponha que temos um interno tipo de dados e deseja convertê-lo em um flutuador tipo de dados. Esses são tipos de dados compatíveis entre si porque seus tipos são numéricos e o tamanho de int é 2 bytes, menor que o tipo de dados float. Conseqüentemente, o compilador converte automaticamente os tipos de dados sem perder ou truncar os valores.
int a = 20; Float b; b = a; // Now the value of variable b is 20.000 /* It defines the conversion of int data type to float data type without losing the information. */
No exemplo acima, o tipo de dados int é convertido em float, que tem um tamanho maior que int e, portanto, amplia o tipo de dados de origem.
Vamos entender a conversão de tipos por meio de um programa C.
#include #include void main() { printf(' Welcome to Javatpoint tutorials '); int x = 3, y = 4; // the size of int variable is 2 byte. float area; // the size of float variable is 4 bytes. area = x * y; /* It is a type conversion that automatically converted by the compiler at the compile time of a program. */ printf(' Area of a Rectangle is : %f', area); printf(' Here, we convert int data type to the float data type'); getch(); }
Saída:
Diferença entre conversão de tipo e conversão de tipo
S.N. | Fundição de tipo | Conversão de tipo |
---|---|---|
1 | A conversão de tipo é um mecanismo no qual um tipo de dados é convertido em outro tipo de dados usando um operador casting () por um programador. | A conversão de tipo permite que um compilador converta um tipo de dados em outro tipo de dados no momento da compilação de um programa ou código. |
2 | Pode ser usado tipo de dados compatível e tipo de dados incompatível. | A conversão de tipo é usada apenas com tipos de dados compatíveis e, portanto, não requer nenhum operador de conversão. |
3 | Requer que um programador converta manualmente um dado em outro tipo. | Não requer nenhuma intervenção do programador para converter um tipo de dados em outro porque o compilador os compila automaticamente no tempo de execução de um programa. |
4 | É usado ao projetar um programa pelo programador. | É usado ou ocorre em tempo de compilação de um programa. |
5 | Ao converter um tipo de dados para outro, o tipo de dados de destino deve ser menor que os dados de origem. | Ao converter um tipo de dados para outro, o tipo de destino deve ser maior que o tipo de dados de origem. |
6 | Também é conhecido como conversão restrita porque um tipo de dados maior é convertido em um tipo de dados menor. | Também é conhecido como conversão ampliada porque um tipo de dados menor é convertido em um tipo de dados maior. |
7 | É mais confiável e eficiente. | É menos eficiente e menos confiável. |
8 | Existe a possibilidade de perda de dados ou informações na conversão de tipo. | Na conversão de tipo, é improvável que os dados sejam perdidos ao converter de um tipo de dados pequeno para um grande. |
8 | float b = 3.0; int a = (int) b | int x = 5, y = 2, c; float q = 12.5, p; p = q/x; |