Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Bahasa C

Konversi Tipe C++

Konversi Jenis C++

Dalam tutorial ini, kita akan belajar tentang dasar-dasar konversi tipe C++ dengan bantuan contoh.

C++ memungkinkan kita untuk mengonversi data dari satu jenis ke jenis lainnya. Ini dikenal sebagai konversi tipe.

Ada dua jenis konversi tipe di C++.

  1. Konversi Tersirat
  2. Konversi Eksplisit (juga dikenal sebagai Tipe Casting)

Konversi Jenis Implisit

Konversi tipe yang dilakukan secara otomatis oleh compiler dikenal sebagai konversi tipe implisit. Jenis konversi ini juga dikenal sebagai konversi otomatis.

Mari kita lihat dua contoh konversi tipe implisit.


Contoh 1:Konversi Dari int ke 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;
}

Keluaran

num_int = 9
num_double = 9

Dalam program, kami telah menetapkan int data ke double variabel.

num_double = num_int;

Di sini, int nilai secara otomatis dikonversi ke double oleh kompiler sebelum ditugaskan ke num_double variabel. Ini adalah contoh konversi tipe implisit.


Contoh 2:Konversi Otomatis dari double ke 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;
}

Keluaran

num_int = 9
num_double = 9.99

Dalam program, kami telah menetapkan double data ke int variabel.

num_double = num_int;

Di sini, double nilai secara otomatis dikonversi ke int oleh kompiler sebelum ditugaskan ke num_int variabel. Ini juga merupakan contoh konversi tipe implisit.

Catatan: Sejak int tidak boleh memiliki bagian desimal, angka setelah titik desimal dipotong dalam contoh di atas.


Kehilangan Data Selama Konversi (Mempersempit Konversi)

Seperti yang telah kita lihat dari contoh di atas, konversi dari satu tipe data ke tipe data lainnya rentan terhadap kehilangan data. Ini terjadi ketika data dengan tipe yang lebih besar dikonversi ke data dengan tipe yang lebih kecil.


Konversi Eksplisit C++

Saat pengguna secara manual mengubah data dari satu jenis ke jenis lainnya, ini dikenal sebagai konversi eksplisit . Jenis konversi ini juga dikenal sebagai jenis casting .

Ada tiga cara utama di mana kita dapat menggunakan konversi eksplisit dalam C++. Mereka adalah:

  1. Pengecoran tipe gaya-C (juga dikenal sebagai notasi pemeran )
  2. Notasi fungsi (juga dikenal sebagai casting tipe gaya C++ lama )
  3. Ketik operator konversi

Pengecoran Tipe C-style

Seperti namanya, jenis casting ini disukai oleh bahasa pemrograman C . Ini juga dikenal sebagai notasi pemeran .

Sintaks untuk gaya ini adalah:

(data_type)expression;

Misalnya,

// initializing int variable
int num_int = 26;

// declaring double variable
double num_double;

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

Pengecoran gaya-fungsi

Kita juga dapat menggunakan fungsi seperti notasi untuk mentransmisikan data dari satu tipe ke tipe lainnya.

Sintaks untuk gaya ini adalah:

data_type(expression);

Misalnya,

// initializing int variable
int num_int = 26;

// declaring double variable
double num_double;

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

Contoh 3:Ketik Casting

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

Keluaran

num_double = 3.56
num_int1   = 3
num_int2   = 3

Kami menggunakan konversi tipe gaya C dan casting gaya fungsi untuk konversi jenis dan ditampilkan hasilnya. Karena mereka melakukan tugas yang sama, keduanya memberi kita hasil yang sama.


Jenis Operator Konversi

Selain dua jenis coran ini, C++ juga memiliki empat operator untuk konversi jenis. Mereka dikenal sebagai operator konversi jenis . Mereka adalah:

  • static_cast
  • dynamic_cast
  • const_cast
  • reinterpret_cast

Kita akan mempelajari tentang gips ini di tutorial selanjutnya.


Tutorial yang Disarankan:

  • string C++ ke int dan sebaliknya
  • String C++ untuk float, double dan sebaliknya

Bahasa C

  1. Konversi Tipe C#
  2. Tipe Data C++
  3. Operator C++
  4. Komentar C++
  5. Template Kelas C++
  6. Konversi Jenis Python dan Pengecoran Jenis
  7. Nomor Python, Konversi Jenis dan Matematika
  8. Tipe Data C++ Char dengan Contoh
  9. Ikhtisar C++
  10. Tipe Variabel C++