TypeCasting é um procedimento para transformar dados entre diferentes tipos de dados. Este método de conversão de dados também é chamado de conversão de tipo ou coerção de tipo. Fundição permite que o tipo de dados seja modificado em vez dos dados em si. C ++ suporta TypeCasting para todos os tipos de dados. Este artigo discutirá um método de tipecasting: a conversão do tipo de dados int para o tipo de dados duplo. Exploraremos abordagens diferentes que simplesmente convertem int para o tipo de dados duplo.
Duas categorias de conversão em c++
Conversão de tipo implícito
A conversão do tipo implícita é feita espontaneamente. Nesta conversão, o usuário não tem entrada, e o compilador faz a conversão inteiramente por conta própria. Quando existem muitos tipos de dados em uma expressão, a conversão é frequentemente realizada. No entanto, há um risco de perda de dados, perda de sinal ou transbordamento de dados com esta forma de conversão.
Conversão do tipo explícito
O tipo explícito é definido pelo usuário e às vezes é referido como “Casting Type.”Dependendo das necessidades, o usuário traduz ou converte dados de um tipo de dados para outro. Esses tipos de conversões são mais seguros.
Exemplo 1
O exemplo a seguir é o funcionamento da conversão do tipo implícito, que converte int em Tipo de dados duplo. O programa começa com os arquivos do cabeçalho. Temos dois arquivos de cabeçalho na seção de cabeçalho. Depois, há a principal função da implementação do código. Na função principal, definimos uma variável como "Intnumber" do tipo de dados inteiro e inicializamos com o valor integral.
Da mesma forma, criamos outra variável como "número duplo" do tipo de dados duplo, mas não é inicializado. Agora, temos que converter o valor do tipo de dados int para o valor de tipo de dados duplo. Então, atribuímos a variável int "intnumer" a uma variável de tipo de dados duplo "duplenumber". Esta abordagem é a conversão do tipo implícita. Os valores do tipo de dados int e do tipo de dados duplo serão impressos através do comando C ++ Cout.
Antes de atribuir o valor int para a variável dupla, o compilador o transforma para dobrar automaticamente. Como você pode ver na imagem, o int não pode incluir um valor decimal, e os dígitos após o ponto decimal são truncados neste exemplo.
Exemplo 2
Vimos a conversão de int para dobrar no exemplo anterior. Agora, converteremos o dobro em int, o que também é feito através de conversão implícita.
Na primeira etapa, incluímos arquivos de namespace iostream e std. Em seguida, invocamos a principal função do programa, onde declaramos uma variável de tipo de dados inteiro "intval". Além disso, declaramos outra variável do tipo de dados duplo como "DoubleVal" e inicializamos com o valor duplo, pois contém uma peça decimal. Para a conversão, atribuímos a variável dupla à variável int. O valor de conversão do tipo implícito será impresso na tela do console ao executar o programa.
Você pode ver o valor duplo e a conversão de dados duplos nos dados int como a saída.
Exemplo 3
Como podemos ver no exemplo anterior, converter de um tipo de dados para outro é uma chance de perda de dados. Isso ocorre quando dados maiores do tipo são transformados em dados de tipo menor. Para superar o problema de perda de dados, realizamos a conversão de tipo explícito. O fundamento do tipo explícito é feito através do tipo de tipo de estilo C. Como o nome indica, favorece uma forma de linguagem C de elenco. A notação do elenco é outro termo para isso.
O programa começa com a seção de cabeçalho, que inclui os arquivos C ++. Na próxima etapa, a função principal é criada onde a variável é definida como "Intnumber" do tipo de dados "int" e armazena o valor integral. Outra variável é declarada como "duplenumber" do tipo de dados "duplo".
Em seguida, usamos o método de fundição do tipo C, que usa o tipo de notação dupla com a variável int e a atribui à variável dupla, “DoubleNumber”. Esses valores serão impressos usando o comando C ++ Cout.
A parte decimal é truncada, pois o tipo de dados int não tem tipo de dados.
Exemplo 4
A função de notação também pode mover dados entre diferentes tipos de dados. O programa a seguir usa fundição de estilo de função para converter int para o tipo de dados duplo.
Temos a principal função em que criamos uma variável de tipo de dados int como "Integer_x" e inicializamos com o valor numérico "20". A variável de tipo duplo também é definida como "duplo_y". Em seguida, usamos a TypeCasting da função para converter dados int para dobrar o tipo. Passamos a variável int "Integer_X" como a função e a definimos com o tipo de dados "duplo". A variável "dupla y" é posteriormente atribuída à função.
O resultado da fundição do estilo de função realizada no Int Type para se converter em um tipo de dados duplo exibido na imagem a seguir:
Exemplo 5
Para conversão de tipo de dupla em int, implementamos a conversão do tipo C e o elenco de estilo de função. Isso mostrará os resultados das duas maneiras de digitar explícitas.
No bloco de função principal deste programa, temos uma variável de tipo de dados duplo como "duplo" e inicializamos com o valor decimal. Em seguida, criamos outras duas variáveis, "Integer1" e "Integer2" e atribuímos um tipo de dados INT. A variável int "Integer1" é usada para conversão no estilo C, e a variável int "integre2" é usada para conversão de estilo de função. Os valores convertidos em números inteiros a partir de dados duplos serão impressos após a execução da conversão.
Como ambos os caminhos de conversão explícita fazem a mesma coisa, eles produzem os mesmos resultados a seguir:
Conclusão
Concluiremos nossa discussão sobre a TypeCasting of Int para dobrar em C++. Aprendemos sobre as conversões implícitas e explícitas dos dados int para dobrar e dobrar dados para int tipo de dados usado em c++. No entanto, conversões ou tipo de tipo.