D.ershane D Programlama Dili Dersleri

bayt: [byte], 8 bitlik tür
bit: [bit], 0 ve 1 değerlerini alabilen en temel bilgi birimi
bool: [bool], Bool ifadelerinin sonuçlarını taşıyan tür; doğruluk kavramı için true, yanlışlık kavramı için false
işaretli tür: [signed type], eksi ve artı değer alabilen tür
işaretsiz tür: [unsigned type], yalnızca artı değer alabilen tür
kayan noktalı sayı: [floating point], kesirli sayı
mikro işlemci: [CPU], bilgisayarın beyni
nan: [nan], "not a number", geçerli bir sayı gösterimi değil
nitelik: [property], bir türün veya nesnenin bir özelliği
sanal sayı: [imaginary number], salt sanal değerden oluşan karmaşık sayı
sınıf: [class], kendi üzerinde kullanılan işlevleri de tanımlayan veri yapısı
yapı: [struct], başka verileri bir araya getiren veri yapısı
... bütün sözlük

Bölümler
İngilizce Kaynaklar
Diğer



Temel Türler

Bilgisayarların beyni mikro işlemcidir. Bir programdaki işlemlerin çoğunu mikro işlemci yapar. Kendi yapmadığı işleri de bilgisayarın yan birimlerine devreder.

Bilgisayarlarda en küçük bilgi miktarı, 0 veya 1 değerini tutabilen ve bit adı verilen yapıdır. Bit, donanım düzeyinde bir kaç tane tranzistörden oluşur.

Yalnızca 0 ve 1 değerini tutabilen bir veri türünün kullanımı çok kısıtlı olduğu için, mikro işlemciler birden fazla bitin yan yana getirilmesinden oluşan daha kullanışlı veri türleri tanımlamışlardır: örneğin 8 bitten oluşan bayt veya 32, 64, vs. bitten oluşan daha büyük veri türleri... Her mikro işlemcinin mimari tasarımı gereği en etkin olarak kullandığı veri türü, o mikro işlemcinin o kadar bitlik olduğunu gösterir: "32 bitlik işlemci", "64 bitlik işlemci", gibi...

Mikro işlemcinin tanımladığı veri türleri de kendi başlarına yeterli değillerdir; çünkü örneğin öğrenci ismi gibi veya oyun kağıdı gibi özel bilgileri tutamazlar. Mikro işlemcinin sunduğu bu genel amaçlı veri türlerini daha kullanışlı türlere çevirmek programlama dillerinin görevidir. D'nin temel türleri bile tek başlarına kullanıldıklarında oyun kağıdı gibi bir kavramı destekleyemezler. O tür kavramlar ileride anlatılacak olan yapılarla ve sınıflarla ifade edilirler.

D'nin temel türleri çoğunlukla diğer dillerdeki temel türlere benzerler. Ek olarak, D'de belki de ancak bilimsel hesaplarda işe yarayan bazı ek türler de bulunur.

Tabloda kullanılan terimlerin açıklamalarını aşağıda bulacaksınız.

D'nin Temel Veri Türleri
Tür Açıklama İlk Değeri
bool Bool değeri false
byte işaretli 8 bit 0
ubyte işaretsiz 8 bit 0
short işaretli 16 bit 0
ushort işaretsiz 16 bit 0
int işaretli 32 bit 0
uint işaretsiz 32 bit 0
long işaretli 64 bit 0L
ulong işaretsiz 64 bit 0L
cent işaretli 128 bit (ilerisi için düşünülmüştür; henüz geçerli bir tür değildir) 0
ucent işaretsiz 128 bit (ilerisi için düşünülmüştür; henüz geçerli bir tür değildir) 0
float 32 bit kayan noktalı sayı float.nan
double 64 bit kayan noktalı sayı double.nan
real ya donanımın (mikro işlemcinin) tanımladığı en büyük kayan noktalı sayı türüdür (örneğin, x86 mikro işlemcilerinde 80 bit), ya da double'dır; hangisi daha büyükse... real.nan
ifloat sanal float değer float.nan * 1.0i
idouble sanal double değer double.nan * 1.0i
ireal sanal real değer real.nan * 1.0i
cfloat iki float'tan oluşan karmaşık sayı float.nan + float.nan * 1.0i
cdouble iki double'dan oluşan karmaşık sayı double.nan + double.nan * 1.0i
creal iki real'den oluşan karmaşık sayı real.nan + real.nan * 1.0i
char işaretsiz 8 bit UTF-8 karakter değeri 0xFF
wchar işaretsiz 16 bit UTF-16 karakter değeri 0xFFFF
dchar işaretsiz 32 bit UTF-32 karakter değeri 0x0000FFFF

Bunlara ek olarak hiçbir türden olmama kavramını ifade eden void anahtar sözcüğü de vardır.

Aksine bir neden yoksa, genel bir kural olarak tamsayı değerler için int kullanılır.

Tablodaki Terimlerin Açıklamaları

Bool değer: Mantıksal ifadelerde kullanılan ve "doğruluk" durumunda true, "doğru olmama" durumunda false değerini alan türdür

İşaretli tür: Hem eksi hem artı değerler alabilen türdür; Örneğin -128'den 127'ye kadar değer alabilen byte. İsimleri eksi işaretinden gelir.

İşaretsiz tür: Yalnızca artı değerler alabilen türdür; Örneğin 0'dan 255'e kadar değer alabilen ubyte. Bu türlerin başındaki u harfi, "işaretsiz" anlamına gelen "unsigned"ın baş harfidir.

Kayan noktalı sayı: Kabaca, 1.23 gibi kesirli değerleri tutabilen türdür; hesapların hassasiyeti türlerin bit sayısıyla doğru orantılıdır (yüksek bit sayısı yüksek hassasiyet sağlar); bunların dışındaki türler kesirli değerler alamazlar; örneğin int, yalnızca tamsayı değerler alabilir

Karmaşık sayı: Matematikte geçen karmaşık sayı değerlerini alabilen türdür

Sanal değer: Karmaşık sayıların salt sanal değerlerini taşıyabilen türdür; tabloda İlk Değer sütununda geçen i, matematikte -1'in kare kökü olan sayıdır

nan: "Not a number"ın kısaltmasıdır ve geçersiz kesirli sayı değeri anlamına gelir

Tür Nitelikleri

D'de türlerin nitelikleri vardır. Niteliklere türün isminden sonra bir nokta ve nitelik ismiyle erişilir. Örneğin int'in .sizeof niteliğine int.sizeof diye erişilir. Burada niteliklerden yalnızca dört tanesini göreceğiz; gerisini sonraki derslere bırakacağız:

int'in kaç bayttan oluştuğunu, en küçük değerini, ve en büyük değerini şöyle yazdırabiliriz:

import std.stdio;

void main()
{
    writeln("Tür                 : ", int.stringof);
    writeln("Bayt olarak uzunluğu: ", int.sizeof);
    writeln("En küçük değeri     : ", int.min);
    writeln("En büyük değeri     : ", int.max);
}
Problem
  • Diğer türlerin de niteliklerini yazdırın.
... çözüm