Menu
Coddy logo textTech

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'tir

Not: İ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 olur

Modern 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 olur

Not: 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.

challenge icon

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 olur

Not: 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;
}
quiz iconKendini test et

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