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

Conversão de tipo C++

Conversão de tipo C++


Neste tutorial, aprenderemos sobre os fundamentos da conversão de tipo C++ com a ajuda de exemplos.

C++ nos permite converter dados de um tipo para outro. Isso é conhecido como conversão de tipo.

Existem dois tipos de conversão de tipo em C++.

  1. Conversão implícita
  2. Conversão explícita (também conhecida como conversão de tipo)

Conversão de tipo implícita


A conversão de tipo que é feita automaticamente pelo compilador é conhecida como conversão de tipo implícita. Esse tipo de conversão também é conhecido como conversão automática.

Vejamos dois exemplos de conversão de tipo implícita.

Exemplo 1:conversão de int para double

// Working of implicit type-conversion

#include <iostream>
using namespace std;

int main() {
   // assigning an int value to num_int
   int num_int = 9;

   // declaring a double type variable
   double num_double;
 
   // implicit conversion
   // assigning int value to a double variable
   num_double = num_int;

   cout << "num_int = " << num_int << endl;
   cout << "num_double = " << num_double << endl;

   return 0;
}

Saída
num_int = 9
num_double = 9

No programa, atribuímos um int dados para um double variável.
num_double = num_int;

Aqui, o int valor é convertido automaticamente para double pelo compilador antes de ser atribuído ao num_double variável. Este é um exemplo de conversão de tipo implícito.

Exemplo 2:conversão automática de double para int

//Working of Implicit type-conversion

#include <iostream>
using namespace std;

int main() {

   int num_int;
   double num_double = 9.99;

   // implicit conversion
   // assigning a double value to an int variable
   num_int = num_double;

   cout << "num_int = " << num_int << endl;
   cout << "num_double = " << num_double << endl;

   return 0;
}

Saída
num_int = 9
num_double = 9.99

No programa, atribuímos um double dados para um int variável.
num_double = num_int;

Aqui, o double valor é convertido automaticamente para int pelo compilador antes de ser atribuído ao num_int variável. Este também é um exemplo de conversão de tipo implícito.

Observação: Desde int não pode ter uma parte decimal, os dígitos após o ponto decimal são truncados no exemplo acima.

Perda de dados durante a conversão (redução da conversão)


Como vimos no exemplo acima, a conversão de um tipo de dados para outro é propensa à perda de dados. Isso acontece quando dados de um tipo maior são convertidos em dados de um tipo menor.

Conversão explícita em C++


Quando o usuário altera manualmente os dados de um tipo para outro, isso é conhecido como conversão explícita . Esse tipo de conversão também é conhecido como conversão de tipo .

Existem três maneiras principais pelas quais podemos usar a conversão explícita em C++. Eles são:
  1. Caixa de tipo de estilo C (também conhecida como notação de conversão )
  2. Notação de função (também conhecida como conversão de tipo de estilo C++ antigo )
  3. Operadores de conversão de tipo

Fundição de tipo estilo C




Como o nome sugere, esse tipo de conversão é favorecido pela linguagem de programação C . Também é conhecido como notação de elenco .

A sintaxe para este estilo é:
(data_type)expression;

Por exemplo,
// initializing int variable
int num_int = 26;

// declaring double variable
double num_double;

// converting from int to double
num_double = (double)num_int;

Transmissão de estilo de função


Também podemos usar a função como notação para converter dados de um tipo para outro.

A sintaxe para este estilo é:
data_type(expression);

Por exemplo,
// initializing int variable
int num_int = 26;

// declaring double variable
double num_double;

// converting from int to double
num_double = double(num_int);

Exemplo 3:conversão de tipo

#include <iostream>

using namespace std;

int main() {
    // initializing a double variable
    double num_double = 3.56;
    cout << "num_double = " << num_double << endl;

    // C-style conversion from double to int
    int num_int1 = (int)num_double;
    cout << "num_int1   = " << num_int1 << endl;

    // function-style conversion from double to int
    int num_int2 = int(num_double);
    cout << "num_int2   = " << num_int2 << endl;

    return 0;
}

Saída
num_double = 3.56
num_int1   = 3
num_int2   = 3

Usamos a conversão de tipo de estilo C e a conversão de estilo de função para conversão de tipo e exibiu os resultados. Como eles executam a mesma tarefa, ambos nos dão a mesma saída.

Operadores de conversão de tipo


Além dessas duas conversões de tipo, C++ também possui quatro operadores para conversão de tipo. Eles são conhecidos como operadores de conversão de tipo . Eles são:
  • static_cast
  • dynamic_cast
  • const_cast
  • reinterpret_cast

Aprenderemos sobre esses elencos em tutoriais posteriores.


Tutoriais recomendados:
  • String C++ para int e vice-versa
  • String C++ para float, double e vice-versa

Linguagem C

  1. Conversão de tipo C#
  2. Tipos de dados C++
  3. Operadores C++
  4. Comentários C++
  5. Modelos de classe C++
  6. Conversão de tipo Python e conversão de tipo
  7. Números Python, Conversão de Tipos e Matemática
  8. Tipo de dados C++ Char com exemplos
  9. Visão geral do C++
  10. Tipos de variáveis ​​C++