Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

Преобразование типов С++

Преобразование типов C++

В этом руководстве мы изучим основы преобразования типов C++ с помощью примеров.

C++ позволяет преобразовывать данные одного типа в данные другого типа. Это называется преобразованием типов.

В C++ существует два типа преобразования типов.

  1. Неявное преобразование
  2. Явное преобразование (также известное как преобразование типов)
<час>

Неявное преобразование типов

Преобразование типов, которое выполняется компилятором автоматически, называется неявным преобразованием типов. Этот тип преобразования также известен как автоматическое преобразование.

Давайте рассмотрим два примера неявного преобразования типов.

<час>

Пример 1:преобразование из int в 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;
}

Вывод

num_int = 9
num_double = 9

В программе мы присвоили int данные в double переменная.

num_double = num_int;

Здесь int значение автоматически преобразуется в double компилятором до того, как он будет присвоен num_double переменная. Это пример неявного преобразования типов.

<час>

Пример 2. Автоматическое преобразование из double в 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;
}

Вывод

num_int = 9
num_double = 9.99

В программе мы присвоили double данные в int переменная.

num_double = num_int;

Здесь double значение автоматически конвертируется в int компилятором до того, как он будет присвоен num_int переменная. Это также пример неявного преобразования типов.

Примечание. С int не может иметь десятичной части, цифры после запятой усекаются в приведенном выше примере.

<час>

Потеря данных во время преобразования (сокращение преобразования)

Как мы видели из приведенного выше примера, преобразование из одного типа данных в другой чревато потерей данных. Это происходит, когда данные большего типа преобразуются в данные меньшего типа.

<рисунок> <час>

Явное преобразование C++

Когда пользователь вручную изменяет данные из одного типа в другой, это называется явным преобразованием. . Этот тип преобразования также известен как приведение типов. .

Есть три основных способа использования явного преобразования в C++. Это:

  1. Приведение типов в стиле C (также известное как приведение типов). )
  2. Обозначение функций (также известное как приведение типов в старом стиле C++). )
  3. Операторы преобразования типов
<час>

Приведение типов в стиле C

Как следует из названия, этот тип преобразования предпочтительнее для языка программирования C. . Он также известен как нотация приведения. .

Синтаксис этого стиля:

(data_type)expression;

Например,

// initializing int variable
int num_int = 26;

// declaring double variable
double num_double;

// converting from int to double
num_double = (double)num_int;
<час>

Приведение в стиле функций

Мы также можем использовать такую ​​функцию, как нотация, для преобразования данных из одного типа в другой.

Синтаксис этого стиля:

data_type(expression);

Например,

// initializing int variable
int num_int = 26;

// declaring double variable
double num_double;

// converting from int to double
num_double = double(num_int);
<час>

Пример 3. Приведение типов

#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;
}

Вывод

num_double = 3.56
num_int1   = 3
num_int2   = 3

Мы использовали как преобразование типов в стиле C и приведение в стиле функций для преобразования типов и отобразил результаты. Поскольку они выполняют одну и ту же задачу, оба дают одинаковый результат.

<час>

Операторы преобразования типов

Помимо этих двух приведений типов, C++ также имеет четыре оператора для преобразования типов. Они известны как операторы преобразования типов. . Это:

Мы узнаем об этих приведениях в последующих руководствах.

<час>

Рекомендуемые учебные пособия:


Язык C

  1. Преобразование типов С#
  2. Типы данных С++
  3. Операторы С++
  4. С++ Комментарии
  5. Шаблоны классов С++
  6. Преобразование типов Python и приведение типов
  7. Числа Python, преобразование типов и математика
  8. Тип данных Char C++ с примерами
  9. Обзор С++
  10. Типы переменных С++