İçeriğe atla

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öz dizim 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.

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)

Kaynakça

  • 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)

İlgili Araştırma Makaleleri

Komut kümesi mimarisi, CPU'nun yazılım tarafından nasıl kontrol edileceğini tanımlayan bilgisayar soyut modelinin bir parçasıdır. ISA, işlemcinin ne yapabileceğini ve bunu nasıl yapacağını belirterek donanım ve yazılım arasında bir arayüz gibi davranır.

UTF-8 8-bitlik bir Unicode dönüşüm biçimidir. Unicode karakterlerini değişken sayıda 8 bitten oluşan bayt gruplarıyla kodlamakta kullanılır. Rob Pike ve Ken Thompson tarafından geliştirilmiştir.

Programlama ve haberleşmede, bir bit bilgi depolama ve haberleşme veya bağlantının en küçük ve temel ünitesidir. Bir cihaz ya da fiziksel bir sistem tarafından depolanabilecek bilginin maksimum değeri normal olarak sadece 2 farklı şekilde bulunabilir. Bu durumlar genellikle ikili sayılar 0 ve 1 olarak yorumlanır. Ayrıca mantıksal değerler logical values, doğru ya da yanlış, flag ya da switch, on ya da off olarak yorumlanabilir.

<span class="mw-page-title-main">Bayt</span> 8 bite eşit dijital bilgi birimi

Bayt, elektronik ve bilgisayar bilimlerinde genellikle 8 bitlik dizilim boyunca 1 veya 0 değerlerini bünyesine alan ve kaydedilen bilgilerin türünden bağımsız bir bellek ölçüm birimi. Bir bayt, Latin alfabesini baz alan 8-bitlik bir kodlamada herhangi bir harfi temsil eder.

<span class="mw-page-title-main">Makine dili</span>

Makine dili, mikroişlemci ya da mikrodenetleyici gibi komut işleme yeteneğine sahip entegrelerin işleyebilecekleri, yapısına göre değişebilen ama genellikle her biri 8 adet 0-1'den (bit) ibaret komutlardan oluşan dile verilen addır. Her bir komutun mnemonic olarak adlandırılan bir tanımı ve işlem kodu olarak adlandırılan bir sayı karşılığı vardır. Mnemonic'ler, op kodun ne işe yaradığını hatırda tutmaya yarar. Örneğin Z-80 mikroişlemcisinde bir alt yordamı çağırmak için kullanılan komutun mnemonic'i Call NNdir ve program yazarken Call NN mnemonic'inin işlem kodu olan "205" sayısı programa konur. Yani bir makine dili program 205 14 45 195 22 15 gibi ardışık sayılardan, daha doğrusu bu sayıların binary karşılığı olan 0 ve 1'lerden oluşur.

Brainfuck, 1993 yılında programcı Urban Müller tarafından yaratılmış bir programlama dilidir. Yaratılma amacı mümkün olan en küçük boyutlu derleyiciyi üretmektir. Bilinen bazı derleyicileri 200 bayttan küçüktür. Sadece sekiz komutu bulunmakla birlikte Turing-bütün bir dil olduğundan teorik olarak herhangi bir algoritma bu dilde yazılıp işletilebilir.

Veri yapısı, bilgisayar ortamında verilerin etkin olarak saklanması ve işlenmesi için kullanılan yapı.

<span class="mw-page-title-main">Dizi</span> aynı tip elemanların sıralı listesi (sonlu veya sonsuz)

Dizi, bir sıralı listedir. Bir küme gibi, ögelerden oluşur. Sıralı ögelerin sayısına dizinin uzunluğu denir. Kümenin aksine sıralı ve aynı ögeler dizide farklı konumlarda birkaç kez bulunabilir. Tam olarak bir dizi, tanım kümesi sayılabilen toplam sıralı kümelerden oluşan bir fonksiyon olarak tanımlanabilir. Örneğin doğal sayılar gibi. Diziler bu örnekte olduğu gibi sonlu olabilir. Ya da tüm çift pozitif tam sayılar gibi sonsuz olabilir.

Mantık devrelerinde taşma, devrenin sağladığı bit alanının işlem sonucunda ortaya çıkan verinin elde bulunan saklama alanına sığmaması durumunda olur.

<span class="mw-page-title-main">İkinin tümleyeni</span>

Bir ikili sayının ikiye tümlenmesi, kendisinden büyük ve 2'nin tam sayı üssü olan en küçük tam sayıdan çıkarılması ile gerçekleştirilir. Elde edilen sayının ikili sayı aritmetiğinde orijinal sayının eksi işaretlisi olarak davranması nedeniyle, tam sayı değerleri bilgisayarda temsil etmek için kullanılan ikinin tümleyeni gösterimi bu işlemi temel almıştır. -1 ile çarpmanın ikinin tümleyeni kullanılarak gerçekleştirildiği bu gösterime göre oluşturulmuş sayıların değerleri aşağıdaki formül kullanılarak hesaplanabilir.

<span class="mw-page-title-main">BCD kodu</span>

BCD kodu, bilgisayar ve elektronik sistemlerinde onluk tabandaki (decimal) sayıların ikilik tabana (binary) dönüştürülmesi için kullanılan sayısal kodlama metodudur. Bu dönüştürme işlemi yapılırken öncelikle sayının her bir basamağı tek tek ikilik tabana çevrilir ve ardından her basamağın karşılık geldiği binary değerler sırasıyla birleştirilerek sayının BCD Kodu ile gösterimi elde edilir.

<span class="mw-page-title-main">İşaret (matematik)</span>

Matematikte işaret kavramı, sıfırdan farklı her bir reel sayının pozitif veya negatif olduğunu belirtir. Her ne kadar bazen işaretli sıfır kullanılsa bile, sıfırın kendisi işaretsizdir. Matematik ve fizikte kullanılan reel sayıların toplamaya göre tersini ifade etmek için işaret değiştirme işlemi yapılır.

İşaretli sıfır, önünde artı ve eksi işaretleri olan sıfırdır. Aritmetikte özel durumlar hariç 0 işaretsizdir. Bununla birlikte Bilişimdeki işaretli sayı temsilleri gibi bazı uygulamalarda, işaretli sıfır kullanılır. Burada pozitif sıfır ile negatif sıfır farklı sayıları ifade eder.

<span class="mw-page-title-main">Karakter kodlaması</span> yazıdaki karakterleri rakamsal değerlerle temsil etmek

Bilişimde karakter kodlaması kavramı bir çeşit kodlama sistemi kullanılarak kodlanmış karakter gruplarını temsil etmektedir. Soyutlama düzeyi ve kullanıldığı bağlama bağlı olarak karakterlere karşılık gelen kod noktaları ve bunların oluşturdukları kod alanı, bit örüntüleri, oktetler, doğal sayılar, elektrik sinyalleri vb. şeklinde algılanabilir. Metinsel verilerin işlenmesi, depolanması ve iletimi esnasında karakter kodlamaları kullanılır. Karakter seti, karakter eşlem veya kod sayfası gibi ifadeler karakter kodlaması kavramıyla eş anlamlıymış gibi kullanılsa da aralarında bazı anlam farkları bulunmaktadır.

Karakter kodlaması terminolojisinde, kod noktası veya kod konumu kod uzayını oluşturan sayısal değerlerin her birine verilen isimdir. Kod noktalarının karşılık geldiği karakterler genelde çizgisel karakterler olsa da zaman zaman biçimlendirme karakterleri de olabilmektedir.

<span class="mw-page-title-main">Dize (bilgisayar bilimi)</span> karakter dizisi, veri türü

Bilgisayar programlamada dize, karakterlerden oluşan dizidir. Dizeyi oluşturan karakterler değişmez (sabit) veya değişken olabilir. İkincisi, elemanlarının mutasyona uğramasına ve uzunluğunun değiştirilmesine izin verebilir veya sabitlenebilir. Bir dize genellikle veri tipi olarak kabul edilir ve genellikle bayt dizi veri yapısı olarak uygulanır. Bazı karakterleri, genellikle karakterleri, bir dizi karakter kodlaması kullanarak saklar. Dize ayrıca daha genel dizileri veya diğer dizileri veri türlerini ve yapılarını gösterebilir.

Bilişim ve haberleşmede, bit akışı veya ikili değer dizesi, bir bitler dizesidir.

BSON, bir bilgisayar veri değişim biçimidir. "BSON" adı, JSON terimine dayanmaktadır ve "Binary JSON" anlamına gelir. İlişkisel diziler, tam sayı indeksli diziler ve bir dizi temel skaler tip dahil olmak üzere basit veya karmaşık veri yapılarını temsil etmek için ikili bir şekildir. BSON, 2009 yılında MongoDB'de ortaya çıktı. Çeşitli skaler veri türleri MongoDB için özel ilgi alanıdır ve biçim, MongoDB veri tabanı için hem veri depolama hem de ağ aktarım biçimi olarak kullanılır, ancak MongoDB olmadan da bağımsız bir şekilde kolaylıkla kullanılabilir. C, C++, C#, D, Delphi, Erlang, Go, Haskell, Java, JavaScript, Julia, Lua, OCaml, Perl, PHP, Python, Ruby, Rust, Scala, Smalltalk ve Swift gibi çeşitli programlama dillerinde uyarlamaları bulunmaktadır.

Bir hex düzenleyici [hex editör], bir bilgisayar dosyası oluşturan temel ikili verilerinin değiştirilmesine izin veren bir bilgisayar programıdır. 'Hex' adı, ikili verileri temsil etmek için standart bir sayısal format olan 'hexadecimal'dan gelir. Tipik bir bilgisayar dosyası, içeriği dosyayı oluşturmak için birleştirilen depolama ortamında birden fazla alan kaplar. Floppy veya sabit disklerin fiziksel bölümlerindeki disk sektörü verilerini ayrıştırmak ve düzenlemek için tasarlanmış hex düzenleyiciler, bazen sektör düzenleyicileri veya disk düzenleyicileri olarak da adlandırılır.

<span class="mw-page-title-main">Düz metin</span> yalnızca okunabilir materyalin biçimlendirilmemiş karakterlerinden oluşan bilgisayar verileri

Bilgi işlemde, düz metin yalnızca karakterlerden oluşan okunabilir materyali temsil eden ancak grafiksel gösterimini veya diğer nesneleri temsil etmeyen veriler için kullanılan geniş/serbest bir terimdir. Ayrıca metnin basit düzenini etkileyen boşluklar, satır sonları veya sekme karakterleri gibi sınırlı sayıda "boşluk" karakteri de içerebilir. Düz metin, stil bilgilerinin dahil edildiği biçimlendirilmiş metinden; paragraflar, bölümler ve benzerleri gibi belgenin yapısal kısımlarının tanımlandığı yapılandırılmış metinden; ve bazı kısımların ikili nesneler olarak yorumlanması gereken ikili dosyalardan farklıdır.