İçeriğe atla

Veri türü

Vikipedi, özgür ansiklopedi

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

[değiştir | kaynağı değiştir]

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

[değiştir | kaynağı değiştir]

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

[değiştir | kaynağı değiştir]

Bunlar, aşağıdakileri içerebilir (programlama diline bağlı olarak)

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öz dizim hatası oluşturacak virgüller kullanılmamalıdır. Tam sayılara örnekler ;

  • 42
  • 1000
  • -232000
  • -100

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

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ı

[değiştir | kaynağı değiştir]

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.

Veri Türleri Boyut Aralık
Tam sayı Türleri
Boolean 1 bit 0'dan 1'e
Bayt 8 bit 0'dan 255'e
Sözcük 2 bayt 0'dan 65535'e
Çift Sözcük 4 bayt 0'dan 4,294,967,295'e
Tam sayı 4 bayt –2,147,483,648'den 2,147,483,647'ye
Çift Tam sayı 8 bayt –9,223,372,036,854,775,808'den 9,223,372,036,854,775,807'ye
Reel Türleri
Reel 4 bayt 1E-37'den 1E+37'ye (6 ondalık basamak)
Çift Ondalıklı 8 bayt 1E-307'den 1E+308'e (15 ondalık basamak)
  • Luca Cardelli, Peter Wegner. On Understanding Types, Data Abstraction, and Polymorphism, [1]19 Haziran 2006 tarihinde Wayback Machine sitesinde arşivlendi. from Computing Surveys, (December, 1985)
  翻译: