Bu konu başlığımızda C++ programlama dilinde bir veri tipinin diğerine dönüştürülmesini ele alacağız. Tip dönüşümü, bir değişkenin önceden tanımlanmış veri tipini uygun bir veri tipine dönüştüren işlemdir. Tür dönüştürmenin ardındaki ana fikir, matematiksel ve mantıksal ifadeleri herhangi bir veri kaybı olmadan kolayca çözmek için iki farklı veri türü değişkenini tek bir veri türüne dönüştürmektir.
Örneğin, bir değişkenin int tipinde, diğerinin ise float tipinde olduğu iki sayı topluyoruz; int değişkenini bir kayan noktaya dönüştürmemiz veya yazmamız gerekir, böylece her ikisi de kayan veri türlerine eklenebilir.
Tür dönüşümü C++'da iki şekilde yapılabilir; biri örtülü tür dönüşümü ve ikincisi açık tür dönüşümü . Bu dönüşümler, örtülü tür veya otomatik tür dönüştürme adı verilen derleyicinin kendisi tarafından yapılır. Kullanıcı tarafından gerçekleştirilen veya kullanıcı müdahalelerini gerektiren dönüştürmeye açık veya kullanıcı tanımlı tür dönüştürme adı verilir. C++'da örtülü ve açık tür dönüşümünü tartışalım.
Örtülü Tip Dönüşümü
Örtülü tür dönüşümü, derleyici tarafından herhangi bir insan çabası olmadan otomatik olarak yapılan dönüşüm türüdür. Bu, örtülü bir dönüşümün, C++ derleyicisinin önceden tanımlanmış bazı kurallarına dayalı olarak bir veri türünü otomatik olarak başka bir türe dönüştürdüğü anlamına gelir. Bu nedenle aynı zamanda şu şekilde de bilinir: otomatik tür dönüştürme .
sanal bellek
Örneğin:
int x = 20; short int y = 5; int z = x + y;
Yukarıdaki örnekte, x ve y olmak üzere iki farklı veri türü değişkeni vardır; burada x bir int türüdür ve y, kısa int veri türündedir. Sonuçta ortaya çıkan z değişkeni de x ve y değişkenlerini saklayan bir tamsayı türüdür. Ancak C++ derleyicisi, iki sayının toplamını elde etmeden önce otomatik olarak düşük dereceli veri türü (short int) değerini daha yüksek türe (int) dönüştürür. Böylece C++'ın örtülü tür dönüşümünde veri kaybını, taşmayı veya işaret kaybını önler.
Örtülü dönüşümde tip tahmininin sırası
Veri türlerinin alt sıradan üst sıraya doğru doğru sıralaması aşağıdadır:
bool -> char -> short int -> int -> unsigned int -> long int -> unsigned long int -> long long int -> float -> double -> long double
Örtülü tür dönüştürmeyi kullanarak int'yi float türüne dönüştüren program
Örtülü tür dönüştürmeyi kullanarak daha küçük dereceli veri türlerini daha yüksek türlere dönüştüren bir program oluşturalım.
Program1.cpp
döngü için bash
#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; }
Çıktı
The value of num1 is: 25 The value of num2 is: 25
Örtülü tür dönüştürmeyi kullanarak double veri türünü int veri türüne dönüştüren program
Örtülü tür dönüştürmeyi kullanarak daha yüksek veri türünü daha düşük türe dönüştürecek bir program oluşturalım.
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; }
Çıktı
The value of the int variable is: 15 The value of the double variable is: 15.25
Yukarıdaki programda num'u bir tamsayı tipi olarak ve num2'yi double veri tipi değişkeni olarak tanımladık ve ardından num2'yi 15.25 olarak atadık. Daha sonra num değişkenine atama operatörünü kullanarak num2 değerini atadık. Bu nedenle, bir C++ derleyicisi, double veri değerini num değişkenine atamadan önce otomatik olarak tamsayı türüne dönüştürür ve truncate değerini 15 olarak yazdırır.
Açık tür dönüşümü
gerektiren dönüşümler kullanıcı müdahalesi Bir değişkenin veri tipini diğerine değiştirmeye denir. açık tür dönüşümü . Başka bir deyişle, açık bir dönüştürme, programcının veri türünü bir değişkenden başka bir türe manuel olarak değiştirmesine veya tipleme yapmasına olanak tanır. Bu nedenle tip dökümü olarak da bilinir. Genel olarak, açık tür dönüştürmeyi verileri bir türden diğerine dönüştürmeye zorlarız çünkü örtülü dönüştürme kuralına uymaz.
Açık tür dönüşümü iki yola ayrılır:
- Cast operatörünü kullanarak açık dönüştürme
- Atama operatörünü kullanarak açık dönüştürme
Cast operatörünü kullanarak float değerini int türüne dönüştüren program
Yayın operatörü: C++ dilinde cast operatörü, bir türü zorla başka bir türe dönüştüren tekli bir operatördür.
sql ddl komutları
C++ dilinde açık dönüşümün cast operatörünü kullanarak float veri tipini int tipine dönüştürmek için bir örnek düşünelim.
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; }
Çıktı
The value of x is: 6
Atama operatörünü kullanarak bir veri türünü diğerine dönüştüren program
C++ programındaki atama operatörünü kullanarak bir değişkenin veri tipini diğerine dönüştürmek için bir örnek düşünelim.
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; }
Çıktı
The value of int num1 is: 25 The value of float num2 is: 25.0