Tamsayı ve Kayan Noktalı Türler
Boyutları, aralıkları ve hassasiyet ödünleşimlerini anlayarak uygun sayısal türü seçin
Tamsayı ve Kayan Noktalı Türler, CoddyKit'te ücretsiz bir C++ Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C++ Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C++ Academy kursu toplamda 4 dersten oluşur.
İki Sayı Dünyası
C++'ta iki sayısal tür ailesi vardır: tamsayılar (kesir içermez, kesindir) ve kayan noktalı sayılar (kesin değildir, kesir içerir). İşe uygun aileyi seçin.
Tamsayı Türleri
64 bit sistemlerde yerleşik tamsayı türleri ve tipik boyutları:
char— 1 baytshort— 2 baytint— 4 baytlong— 4 veya 8 baytlong long— 8 bayt
İşaretli ve İşaretsiz
Negatif aralığı kaldırmak için unsigned ekleyin. İşaretsiz aritmetik, 2^N modülüne göre sarar — bazen yararlıdır, çoğu zaman da kolayca hataya yol açar.
unsigned int u = 0;
u -= 1; // wraps around to 4,294,967,295Sabit Genişlikli Tamsayılar
Kesin boyutlara ihtiyaç duyduğunuzda <cstdint> içindeki türleri kullanın — protokoller, dosya biçimleri veya platformlar arası taşınabilirlik için.
#include <cstdint>
int8_t tiny = 100;
int32_t word = 100000;
int64_t big = 1LL << 40;
uint64_t huge = 18446744073709551615ULL;Kayan Noktalı Türler
Artan duyarlılığa sahip üç kayan noktalı tür:
float— 32 bit, yaklaşık 7 ondalık basamakdouble— 64 bit, yaklaşık 15 ondalık basamaklong double— genellikle 80 veya 128 bit
IEEE 754 Biçimi
Kayan noktalı sayılar IEEE 754 standardını izler: işaret, üs, mantis. Çok büyük ve çok küçük değerleri temsil edebilirler ancak bunu tam olarak yapamazlar.
Kayan Noktalı Sayıların Tuzakları
Ondalık sayıların çoğu ikilik sistemde tam olarak temsil edilemez. 0.1 + 0.2, tam olarak 0.3 değildir.
double sum = 0.1 + 0.2;
std::cout << (sum == 0.3); // false on most systems
std::cout << sum; // 0.3 but printed approximatelyKayan Noktalı Sayıları Güvenle Karşılaştırma
Kayan noktalı sayıları hiçbir zaman == ile karşılaştırmayın. Küçük bir tolerans (epsilon) içinde karşılaştırın.
bool approxEqual(double a, double b, double eps = 1e-9) {
return std::abs(a - b) < eps;
}Özel Kayan Noktalı Değerler
Kayan noktalı sayıların üç özel değeri vardır: NaN (sayı değil), +inf ve -inf. Bunları denetlemek için <cmath> içindeki yüklemleri kullanın.
#include <cmath>
double x = std::sqrt(-1.0);
if (std::isnan(x)) std::cout << "Not a number";
if (std::isinf(x)) std::cout << "Infinity";Her Birini Ne Zaman Kullanmalı
Seçiminizi alana göre yapın:
- Sayımlar ve indisler →
intveyasize_t - Bilimsel veya grafik hesaplamaları →
double - Para → hiçbir zaman
doublekullanmayın! Ölçeklenmiş tamsayılar (kuruşlar) veya ondalık bir kitaplık kullanın
Tür Boyutları Platforma Göre Değişir
Standart yalnızca asgari boyutları garanti eder. int 16, 32 veya 64 bit olabilir. Taşınabilirlik için veri yapılarında <cstdint> içindeki sabit genişlikli türleri kullanın.
Hızlı Kontrol
Parasal değerleri kesin biçimde temsil etmek için hangi türü kullanmalısınız?
Özet
Tamsayılar kesindir; kayan noktalı sayılar yaklaşık değerlerdir. Sayımlar için int veya sabit genişlikli tamsayıları, bilimsel hesaplamalar için double'ı seçin ve para için hiçbir zaman kayan noktalı sayılar kullanmayın. Kayan noktalı sayıları toleransla karşılaştırın, hiçbir zaman == kullanmayın.
Sıkça Sorulan Sorular
“Tamsayı ve Kayan Noktalı Türler” dersi ücretsiz mi?
Evet — “Tamsayı ve Kayan Noktalı Türler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C++ Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C++ Academy kursu toplamda 4 dersten oluşur.
“Tamsayı ve Kayan Noktalı Türler” dersinde ne öğreneceğim?
Boyutları, aralıkları ve hassasiyet ödünleşimlerini anlayarak uygun sayısal türü seçin C++ Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
C++ Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te C++ Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Tamsayı ve Kayan Noktalı Türler” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu C++ Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her C++ Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Tamsayı ve Kayan Noktalı Türler
- cmath Başlığı: pow, sqrt, abs, round
- random Başlığıyla Rastgele Sayılar
- Sayısal Sınırlar ve Taşma Davranışı