logo

Перетворення типів у C++

У цій темі ми обговоримо перетворення одного типу даних в інший на мові програмування C++. Перетворення типу — це процес, який перетворює попередньо визначений тип даних однієї змінної у відповідний тип даних. Основна ідея перетворення типів полягає в тому, щоб перетворити дві різні змінні типу даних в один тип даних, щоб легко розв’язувати математичні та логічні вирази без втрати даних.

Перетворення типів у C++

Наприклад, ми складаємо два числа, де одна змінна має тип int, а інша – тип float; нам потрібно перетворити або привести змінну int у float, щоб зробити обидва типи даних float, щоб додати їх.

Перетворення типів можна здійснити двома способами в C++ неявне перетворення типу , а другий є явне перетворення типу . Ці перетворення виконує сам компілятор, що називається неявним типом або автоматичним перетворенням типу. Перетворення, яке виконується користувачем або вимагає втручання користувача, називається явним або визначеним користувачем перетворенням типу. Давайте обговоримо неявне та явне перетворення типів у C++.

Неявне перетворення типів

Неявне перетворення типу — це тип перетворення, який автоматично виконується компілятором без будь-яких зусиль людини. Це означає, що неявне перетворення автоматично перетворює один тип даних в інший тип на основі деяких попередньо визначених правил компілятора C++. Тому він також відомий як автоматичне перетворення типів .

Наприклад:

 int x = 20; short int y = 5; int z = x + y; 

У наведеному вище прикладі є дві різні змінні типу даних, x і y, де x — тип int, а y — тип даних short int. І результуюча змінна z також є цілим типом, який зберігає змінні x і y. Але компілятор C++ автоматично перетворює значення типу даних нижчого рангу (short int) у значення вищого типу (int), перш ніж отримати суму двох чисел. Таким чином, це дозволяє уникнути втрати даних, переповнення або втрати знака під час неявного перетворення типу C++.

Порядок приведення типу в неявному перетворенні

Нижче наведено правильний порядок типів даних від нижчого до вищого рангу:

такі сайти, як coomeet
 bool -> char -> short int -> int -> unsigned int -> long int -> unsigned long int -> long long int -> float -> double -> long double 

Програма для перетворення типу int у тип float за допомогою неявного перетворення типу

Давайте створимо програму для перетворення типів даних меншого рангу в типи вищого за допомогою неявного перетворення типів.

Program1.cpp

 #include using namespace std; int main () { // assign the integer value int num1 = 25; // declare a float variable float num2; // convert int value into float variable using implicit conversion num2 = num1; cout << ' The value of num1 is: ' << num1 << endl; cout << ' The value of num2 is: ' << num2 << endl; return 0; } 

Вихід

спробуйте зловити спіймати java
 The value of num1 is: 25 The value of num2 is: 25 

Програма для перетворення типу даних double у тип int за допомогою неявного перетворення типу

Давайте створимо програму для перетворення вищого типу даних у нижчий за допомогою неявного перетворення типів.

Program2.cpp

 #include using namespace std; int main() { int num; // declare int type variable double num2 = 15.25; // declare and assign the double variable // use implicit type conversion to assign a double value to int variable num = num2; cout << ' The value of the int variable is: ' << num << endl; cout << ' The value of the double variable is: ' << num2 << endl; return 0; } 

Вихід

 The value of the int variable is: 15 The value of the double variable is: 15.25 

У наведеній вище програмі ми оголосили num як цілочисельний тип і num2 як змінну типу даних double, а потім призначили num2 як 15.25. Після цього ми присвоюємо значення num2 змінній num за допомогою оператора присвоювання. Отже, компілятор C++ автоматично перетворює подвійне значення даних у цілочисельний тип перед тим, як призначити його змінній num і надрукувати скорочене значення як 15.

Явне перетворення типу

Перетворення, які вимагають втручання користувача зміна типу даних однієї змінної на іншу називається явне перетворення типу . Іншими словами, явне перетворення дозволяє програмісту вручну змінювати або типізувати тип даних з однієї змінної на інший тип. Тому це також відоме як приведення типів. Як правило, ми змушуємо явне перетворення типу перетворювати дані з одного типу в інший, оскільки воно не відповідає правилу неявного перетворення.

Явне перетворення типу ділиться на два способи:

  1. Явне перетворення за допомогою оператора приведення
  2. Явне перетворення за допомогою оператора присвоювання

Програма для перетворення значення float у тип int за допомогою оператора приведення

Оператор приведення: У мові C++ оператор приведення — це унарний оператор, який примусово перетворює один тип в інший.

моделі машинного навчання

Розглянемо приклад перетворення типу даних float у тип int за допомогою оператора приведення явного перетворення мовою C++.

Program3.cpp

 #include using namespace std; int main () { float f2 = 6.7; // use cast operator to convert data from one type to another int x = static_cast (f2); cout << ' The value of x is: ' << x; return 0; } 

Вихід

 The value of x is: 6 

Програма для перетворення одного типу даних в інший за допомогою оператора присвоювання

Розглянемо приклад перетворення типу даних однієї змінної в іншу за допомогою оператора присвоювання в програмі C++.

Program4.cpp

 #include using namespace std; int main () { // declare a float variable float num2; // initialize an int variable int num1 = 25; // convert data type from int to float num2 = (float) num1; cout << ' The value of int num1 is: ' << num1 << endl; cout << ' The value of float num2 is: ' << num2 << endl; return 0; } 

Вихід

 The value of int num1 is: 25 The value of float num2 is: 25.0