Veri türü

**Veri türü**, bilgisayar programlamasının tür sisteminde veriyi açıklamak üzere kurulmuştur. İlkel türleri de içeren programlama dillerindeki verinin ortak türleri (tam sayı, ondalıklı sayı veya karakterler gibi), tuple'ler, kayıtlar, cebirsel veri türleri, soyut veri türleri, referans türleri, sınıflar ve işlev türleridir. Bir veri türü, temsil etmeyi, yorumlamayı ve algoritmaları veya bilgisayar belleğini veya diğer yapılarını tanımlar. Tür sistemi, veri türü bilgisini, veriyi kullanan veya veriye erişen bilgisayar programlarının doğruluğunu kontrol etmek amaçlı kullanır.

## Makine veri türleri

Bellekte tüm veriler ikili sayı sistemi kullanılarak, 0 veya 1 olarak değişen bitler olarak ifade edilir. Adreslenebilir en küçük veri birimi, gruplaşmış bitlerden oluşur ve “byte” olarak adlandırılır (genellikle oktet, yani 8 bittir). Makine kodu komutları tarafından işlenmiş birime bir “sözcük” denir (2006 larda, tipik olarak 32 veya 64 bitlerdir). Çoğu komut, sözcüğü ikili sistem olarak tanımlar, öyle ki 32 bitlik bir sözcük 0 dan 232 ye kadar olan işaretsiz tam sayı değerlerini tanımlar veya -231 den 231-1 e kadar olan değerleri işaretli tam sayı değerleri olarak tanımlar. İkinin tümleyeni yüzünden makine dili, makine işaretsiz ve işaretli veri türleri arasındaki farkı ayırt etme gereği duymaz.

## İlkel veri türleri

Programlama dilleri, bazı ilkel veri türlerini, programlar ve daha uzmanlaşmış bileşik tipler için basit yapılaşma blokları olarak sağlar. Tipik olarak veri türleri, tam sayı, ondalıklı sayı ve dizi türleri gibi pek çok çeşit içerir. Buna rağmen basit yapılaşma blokları, diziler, kayıtlar ve veri parçaları arasındaki ilişkiler için kaynaklar, pek çok ilkel değer koleksiyonlarından da görüldüğü gibi ilkel veri türlerini içermeyebilir.

## Bileşik türler
Bunlar, aşağıdakileri içerebilir (programlama diline bağlı olarak)

### Tam sayılar

Bir tam sayı, sayının tamamını tutabilir ama kesri tutamaz. Değerin negatif olabilmesi
için, değerden önce bir kısa çizgi kullanılmalı (-). Sayının herhangi bir kısmında, sözdizim hatası oluşturacak virgüller kullanılmamalıdır. Tam sayılara örnekler;

* 42
* 1000
* -232000
* -100

### Reel sayılar

Bir reel sayı bütün bir sayıyı veya ondalık nokta kullanan kesirli sayıyı tutabilir. Değerin
negatif olabilmesi için, değerden önce bir kısa çizgi sembolü yerleştirilmelidir. Reel sayılara örnekler;

* 20.0005
* 99.9
* -5000.12
* -9999.9991

### Diziler

Dizi verisi sayısal değildir, karakterleri ve sözcükleri saklamak için kullanılır. Tüm diziler, hemen yanında çift tırnak işaretleri kullanılan karakterleri içerir. Dizi verisi, sayıları ve metin gibi davranacak nümerik sembolleri içerebilir. Dizilere örnekler;

* "Merhaba Dünya"
* "Telefon"
* "99 yaşındayım"
* "0, 1, 3, 6, 10, 15, 21, 28, 36, 45"

Her dizi hafızasının mümkün kıldığı birçok karakter içerebilir. Ayrıca içinde veri barındırmayan, içi boş çift tırnak işaretleri ile ifade edilen bir diziye de sahip olabilirsiniz.

## Veri türü aralıkları

Her tür verinin aralık olarak bilinen maksimum ve minimum değerleri vardır. Bu aralıkların, özellikle küçük veri türleri ile uğraşırken bilinmesi gerekir. Aralık, değeri kaydetmek üzere olan sayının bitlerine, r'nin kombinasyon sayıları ve n'nin de bayt sayısını ifade ettiği aşağıdaki formülü kullanarak bulunabilir:
                                         
r =28n

Tüm baytları kullanmayan bazı türler vardır, bu boolen durumudur, tek bir bit kullanılır, ikili bir değer ifade eder. Aşağıdaki tablo veri türlerini ve aralıklarını gösteriyor.

## Kaynakça

* Luca Cardelli, Peter Wegner. *On Understanding Types, Data Abstraction, and Polymorphism,* http://citeseer.ist.psu.edu/cardelli85understanding.html from Computing Surveys, (December, 1985)