Tür Dönüştürme Bölüm 1
Coddy'nin C++ Journey'sinin Temeller bölümünün bir parçası — ders 14 / 74.
Tür dönüştürme, bir değeri bir veri türünden diğerine dönüştürme işlemidir.
C++'da tam sayıları double'lara, double'ları tam sayılara ve daha fazlasına dönüştürebiliriz. İki tür dönüşümü (casting) vardır: örtük (otomatik) ve açık (manuel) dönüşüm.
Örneğin Integer to Double:
Örtük (otomatik) tür dönüştürme:
int number = 5;
double decimal = number; // otomatik olarak 5.0 olur
// hesaplama ile
int x = 7;
double result = x / 2.0; // sonuç 3.5'tirNot: İki int değerini bölerken, C++ tamsayı bölmesi gerçekleştirir — ondalık kısım atılır. Örneğin, 7 / 2 sonucu 3 verir, 3.5 değil. Ondalık bir sonuç elde etmek için, en az bir işlenen double olmalıdır (örneğin, 7 / 2.0 sonucu 3.5 verir).
Açık (manuel) Tür Dönüştürme Double to Integer:
double decimal = 9.7;
int number = (int) decimal; // 9 olur (ondalık kısım atılır)
// hesaplama ile
double price = 19.99;
int roundedPrice = (int) price; // 19 olurModern C++ tercih edilen stil: C-stili tür dönüşümü olan (int) decimal yerine, niyetiniz konusunda daha güvenli ve daha açık olan static_cast<>() kullanmak daha iyi bir uygulamadır:
double decimal = 9.7;
int number = static_cast<int>(decimal); // 9 olur (ondalık kısım atılır)
double price = 19.99;
int roundedPrice = static_cast<int>(price); // 19 olurNot: Burada hem (int) value hem de static_cast<int>(value) aynı sonucu verir, ancak static_cast<>() dönüşümü açıkça görünür kıldığı ve derleyici tarafından kontrol edildiği için modern C++'da önerilen yaklaşımdır.
Görev
BaşlangıçTür dönüşümünü (type casting) gösteren bir C++ programı yazın. Şunları yapın:
price değişkenini bir int türüne dönüştürün ve sonucu intPrice adında yeni bir değişkende saklayın.
Kopya kağıdı
Tür dönüştürme (type casting), değerleri bir veri türünden diğerine dönüştürür.
Örtük (otomatik) dönüştürme — otomatik olarak gerçekleşir:
int number = 5;
double decimal = number; // otomatik olarak 5.0 olur
int x = 7;
double result = x / 2.0; // sonuç 3.5'tir (int/int ondalık kısmı atar)Açık (manuel) dönüştürme — C-stili ve modern static_cast:
double price = 19.99;
int a = (int) price; // C-stili: 19 olur
int b = static_cast<int>(price); // modern C++ tercihi: 19 olurNot: Bir double değerini int türüne dönüştürmek ondalık kısmı kırpar (atır). Modern C++'ta netlik ve derleyici güvenliği için static_cast<>() tercih edilir.
Kendin dene
#include <iostream>
int main() {
// Değişkenleri tanımla ve başlat
double price = 99.99;
int intPrice = ?; // Double'dan int'e açık tür dönüşümü
// Değerleri yazdır
std::cout << "Price: " << price << std::endl;
std::cout << "Int Price: " << intPrice << std::endl;
return 0;
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüArtırma/AzaltmaSonradan Artırma/AzaltmaAritmetik KısayollarKarşılaştırma OperatörleriString Karşılaştırma7Giriş/Çıkış Temelleri
cout İfadesicin İfadesiString GirdisiÖzet - 120'ye KadarÖzet - Doğru veya Yanlış