Bayt

bilgipedi.com.tr sitesinden
bayt
Birim sistemibit'ten türetilen birim
Birimidijital bilgi, veri boyutu
SembolB veya o (8 bit olduğunda)

Bayt, en yaygın olarak sekiz bitten oluşan bir dijital bilgi birimidir. Tarihsel olarak bayt, bir bilgisayarda tek bir metin karakterini kodlamak için kullanılan bit sayısıdır ve bu nedenle birçok bilgisayar mimarisinde adreslenebilir en küçük bellek birimidir. Keyfi olarak boyutlandırılmış baytları yaygın 8 bit tanımından ayırmak için İnternet Protokolü (RFC 791) gibi ağ protokolü belgelerinde 8 bitlik bayttan sekizli olarak bahsedilir. Bir sekizli içindeki bitler, bit sonluluğuna bağlı olarak genellikle 0'dan 7'ye veya 7'den 0'a kadar numaralandırılarak sayılır. İlk bit 0'dır, bu da sekizinci biti 7 yapar.

Baytın boyutu tarihsel olarak donanıma bağlı olmuştur ve boyutu zorunlu kılan kesin bir standart mevcut değildir. Boyutlar 1 ila 48 bit arasında kullanılmıştır. Altı bitlik karakter kodu, ilk kodlama sistemlerinde sıklıkla kullanılan bir uygulamaydı ve 1960'larda altı bit ve dokuz bit bayt kullanan bilgisayarlar yaygındı. Bu sistemler genellikle 2, 3, 4, 5, 6, 8 veya 10 altı bitlik bayta karşılık gelen 12, 18, 24, 30, 36, 48 veya 60 bitlik bellek sözcüklerine sahipti. Bu dönemde, bayt terimi yaygınlaşmadan önce, komut akışındaki bit grupları genellikle hece veya dilim olarak adlandırılırdı.

ISO/IEC 2382-1:1993'te belgelenen sekiz bitlik modern fiili standart, bir bayt için 0 ila 255 arasında ikili kodlanmış değerlere izin veren ikinin uygun bir kuvvetidir-2 ila 8'in kuvveti 256'dır. IEC 80000-13 uluslararası standardı bu ortak anlamı kodlamıştır. Birçok uygulama türü sekiz veya daha az bitle temsil edilebilen bilgileri kullanır ve işlemci tasarımcıları genellikle bu kullanım için optimize eder. Başlıca ticari bilgi işlem mimarilerinin popülerliği, 8 bitlik baytın her yerde kabul görmesine yardımcı olmuştur. Modern mimariler tipik olarak sırasıyla dört ya da sekiz bayttan oluşan 32 ya da 64 bitlik sözcükler kullanmaktadır.

Bayt için birim sembolü Uluslararası Elektroteknik Komisyonu (IEC) ve Elektrik ve Elektronik Mühendisleri Enstitüsü (IEEE) tarafından büyük harf B olarak belirlenmiştir. Uluslararası olarak, birim sekizli, sembol o, açıkça sekiz bitlik bir diziyi tanımlar ve "bayt" teriminin potansiyel belirsizliğini ortadan kaldırır.

Bayt Birimleri
Yaygın önek İkilik önek
Ad Sembol Ondalık İkilik Ad Sembol İkilik
kilobayt KB 103 210 kibibayt KiB 210
megabayt MB 106 220 mebibayt MiB 220
gigabayt GB 109 230 gibibayt GiB 230
terabayt TB 1012 240 tebibayt TiB 240
petabayt PB 1015 250 pebibayt PiB 250
eksabayt EB 1018 260 eksbibayt EiB 260
zettabayt ZB 1021 270 zebibayt ZiB 270
yottabayt YB 1024 280 yobibayt YiB 280
1 GB'lık IBM Microdrive.

Bayt (İngilizce: byte), 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.

  • 'Çoğu platformda' 8 bit = 1 bayt

Bitten sonraki ikinci en küçük sayısal bilgisayar birimidir. Bir Bayt, 0 ile 255 arasındaki değeri veya diğer anlamda 256 şalter durumunu temsil etmektedir. Yani 2 üssü 8'dir. Onluk düzende 167'nin ikilik düzende dizilimi şöyledir: 10100111.

bit'in onluk sayı değeri 255 olup, 0 ile birlikte, 256 şalter durumunu gösterir. Eğer somut sonuç 2 üzeri 10'u geçiyorsa o zaman sayının sonundaki rakamlar silinip onun yerine kısaltmalar eklenir. Örneğin,

  • 1 Kilobayt = 1 KB = 103= 1.024 Bayt
  • 1 Megabayt = 1 MB = 106= 1.048.576 Bayt
  • 1 Gigabayt = 1 GB = 109= 1.073.741.824 Bayt
  • 1 Terabayt = 1 TB = 1012= 1.099.511.627.776 Bayt
  • 1 Petabayt = 1 PB = 1015 bayt
  • 1 Eksabayt = 1 EB = 1018 bayt
  • 1 Zettabayt = 1 ZB = 1021 bayt
  • 1 Yottabayt = 1 YB = 1024 bayt

Bit terimi ilk defa IBM çalışanları tarafından 1956'da ortaya atılmıştır. Aslında, doğrudan adreslenebilen belleğin 6 bitlik bir değeri tanımlayan en küçük birimi olarak tanımlanmıştır. Daha sonra, 1956'da, 6 bitten 8 bite geliştirilmiştir. Bite, bit ile karıştırılmaması için daha sonra Bayt'a çevrilmiştir.

Diğer bir kelime açıklamasına göre de, Byte, "by eight"in (Türkçede sekiz kez veya sekiz ile) kısaltılmış halidir.

Etimoloji ve tarihçe

Bayt terimi, Werner Buchholz tarafından Haziran 1956'da, IBM Stretch bilgisayarının erken tasarım aşamasında, bit ve değişken alan uzunluğu (VFL) talimatlarına adresleme yapan ve talimatta kodlanmış bir bayt boyutuna sahip olan bir terimdir. Bu, bit'in kazara mutasyona uğramasını önlemek için bite'ın kasıtlı olarak yeniden yazılmasıdır.

Bir bilgisayarın kelime boyutundan daha küçük bit grupları ve özellikle de dört bitlik gruplar için kullanılan byte teriminin bir başka kökeni de Louis G. Dooley'dir. Dooley bu terimi 1956 veya 1957'de MIT Lincoln Laboratuarında Jules Schwartz ve Dick Beeler ile birlikte Rand, MIT ve IBM tarafından ortaklaşa geliştirilen SAGE adlı bir hava savunma sistemi üzerinde çalışırken bulduğunu iddia etmiştir. Daha sonra Schwartz'ın JOVIAL adlı dili aslında bu terimi kullanmıştır, ancak yazar bu terimin AN/FSQ-31'den türetildiğini hayal meyal hatırlamaktadır.

İlk bilgisayarlar çeşitli dört bitlik ikili kodlu ondalık (BCD) gösterimleri ve ABD Ordusu (FIELDATA) ve Donanmasında yaygın olan yazdırılabilir grafik desenleri için altı bitlik kodları kullanıyordu. Bu gösterimler alfanümerik karakterleri ve özel grafik sembolleri içeriyordu. Bu setler 1963 yılında Federal Bilgi İşleme Standardı olarak American Standard Code for Information Interchange (ASCII) adı verilen ve 1960'larda ABD hükümeti ve üniversitelerinin farklı kolları tarafından kullanılan uyumsuz teleprinter kodlarının yerini alan yedi bitlik kodlamaya genişletildi. ASCII, büyük ve küçük harflerin ayrımını ve yazılı dilin iletimini kolaylaştırmak için bir dizi kontrol karakterinin yanı sıra sayfa ilerletme ve satır besleme gibi baskı cihazı işlevlerini ve iletim ortamı üzerindeki veri akışının fiziksel veya mantıksal kontrolünü içeriyordu. 1960'ların başında, ASCII standardizasyonunda da aktif olan IBM, eş zamanlı olarak System/360 ürün serisinde, daha önceki kart zımbalarında kullanılan altı bitlik ikili kodlu ondalık (BCDIC) gösterimlerinin bir uzantısı olan sekiz bitlik Genişletilmiş İkili Kodlu Ondalık Değişim Kodunu (EBCDIC) tanıttı. System/360'ın öne çıkması, sekiz bitlik depolama boyutunun her yerde benimsenmesine yol açarken, EBCDIC ve ASCII kodlama şemaları ayrıntılı olarak farklıdır.

1960'ların başında AT&T, uzun mesafeli ana hatlarda dijital telefonu tanıttı. Bunlar sekiz bitlik μ-law kodlamasını kullanıyordu. Bu büyük yatırım, sekiz bitlik veriler için iletim maliyetlerini düşürmeyi vaat ediyordu.

1970'lerde sekiz bitlik mikroişlemcilerin geliştirilmesi bu depolama boyutunu popüler hale getirdi. İlk kişisel bilgisayarlarda kullanılan 8080 ve 8086'nın doğrudan öncülü olan Intel 8008 gibi mikroişlemciler, ondalık ekleme-ayarlama (DAA) talimatı gibi bir bayttaki dört bitlik çiftler üzerinde az sayıda işlem de gerçekleştirebiliyordu. Dört bitlik bir miktar genellikle nibble olarak adlandırılır, ayrıca nybble olarak da adlandırılır ve uygun bir şekilde tek bir onaltılık basamakla temsil edilir.

Sekiz bitlik bir boyutu açık bir şekilde belirtmek için sekizli terimi kullanılır. Protokol tanımlarında yaygın olarak kullanılır.

Tarihsel olarak, en azından Batı Avrupa'da sekiz biti belirtmek için octad veya octade terimi de kullanılmıştır; ancak bu kullanım artık yaygın değildir. Terimin kökeni tam olarak bilinmemekle birlikte, 1960'lar ve 1970'lerdeki İngiliz, Hollanda ve Alman kaynaklarında ve Philips ana bilgisayarlarının dokümantasyonunda bulunabilir.

Birim sembolü

Bayt için birim sembolü IEC 80000-13, IEEE 1541 ve Metrik Değişim Formatında büyük harf B karakteri olarak belirtilmiştir.

Uluslararası Miktarlar Sisteminde (ISQ) B, Alexander Graham Bell'in adını taşıyan bir logaritmik güç oranı birimi olan bel'in sembolüdür ve IEC spesifikasyonu ile bir çelişki yaratır. Bununla birlikte, bel nadiren kullanılan bir birim olduğu için çok az karışıklık tehlikesi vardır. Öncelikle ondalık kesri olan desibel (dB) sinyal gücü ve ses basıncı seviyesi ölçümleri için kullanılırken, bir baytın onda biri için bir birim olan desibyte ve diğer kesirler yalnızca iletim hızları gibi türetilmiş birimlerde kullanılır.

Sekizli için küçük harf o, IEC 80000-13'te sekizli sembolü olarak tanımlanır ve Fransızca ve Romence gibi dillerde yaygın olarak kullanılır ve ayrıca ko ve Mo gibi katlar için metrik ön eklerle birleştirilir.

Çok baytlı birimler

Çok baytlı birimler
Ondalık
Değer Metrik
1000 kB kilobayt
10002 MB megabayt
10003 GB gigabayt
10004 TB terabayt
10005 PB petabyte
10006 EB exabyte
10007 ZB zettabyte
10008 YB yottabyte
İkili
Değer IEC Miras
1024 KiB kibibyte KB kilobayt
10242 MiB mebibyte MB megabayt
10243 GiB gibibyte GB gigabayt
10244 TiB tebibyte TB terabayt
10245 PiB pebibyte
10246 EiB exbibyte
10247 ZiB zebibyte
10248 YiB yobibyte
Büyüklük sırasına göre veri

Bayta dayalı daha büyük birimleri tanımlamak için birden fazla sistem mevcuttur. Bazı sistemler 10'un kuvvetlerine dayanır; diğer sistemler 2'nin kuvvetlerine dayanır. Bu sistemler için isimlendirme karışıklık konusu olmuştur. 10'un kuvvetlerine dayalı sistemler standart SI öneklerini (kilo, mega, giga, ...) ve bunlara karşılık gelen sembolleri (k, M, G, ...) güvenilir bir şekilde kullanır. Bununla birlikte, 2'nin kuvvetlerine dayalı sistemler ikili önekleri (kibi, mebi, ...) ve bunlara karşılık gelen sembolleri (Ki, Mi, Gi, ...) kullanabilir veya K, M ve G öneklerini kullanarak belirsizlik yaratabilirler.

Ondalık ve ikili yorumlamalar arasındaki sayısal fark kilobayt için nispeten küçük olsa da (kibibayttan yaklaşık %2 daha küçük), birimler büyüdükçe sistemler giderek daha fazla sapmaktadır (göreceli sapma her üç büyüklük mertebesi için %2,4 artmaktadır). Örneğin, 10'un kuvveti tabanlı bir yottabyte, 2'nin kuvveti tabanlı yobibyte'tan yaklaşık %17 daha küçüktür.

Farklı ölçümler için kullanılan ön ekler genellikle diğer ölçümler ile aynı kullanıma sahiptir, fakat az da olsa farklılıklar vardır. Önceden ikilik sistemin katı olan 1,024 (210) ile çarpılarak kullanılırdı, uygun olanı onluk sistemin katı olan 1,000 (103) ile çarpmaktır Aşağıdaki tablo bu farklı kullanımları gösteriyor.

10'un kuvvetlerine dayalı birimler

Öneklerin 10'un kuvvetleri kullanılarak tanımlanması - 1 kilobayt (sembol kB) 1000 bayta eşit olarak tanımlanır - Uluslararası Elektroteknik Komisyonu (IEC) tarafından önerilmektedir. IEC standardı, 10008 bayta eşit olan 1 yottabyte'a (YB) kadar bu tür sekiz kat tanımlar.

Bu tanım en yaygın olarak bilgisayar ağlarındaki veri hızı birimleri, dahili veri yolu, sabit sürücü ve flash medya aktarım hızları ve çoğu depolama ortamının, özellikle de sabit sürücülerin, flash tabanlı depolamanın ve DVD'lerin kapasiteleri için kullanılır. Bu tanımı kullanan işletim sistemleri arasında macOS, iOS, Ubuntu ve Debian bulunmaktadır. Ayrıca, SI öneklerinin CPU saat hızları veya performans ölçümleri gibi bilgi işlemdeki diğer kullanımlarıyla da tutarlıdır.

2'nin kuvvetlerine dayalı birimler

1 kibibyte'ın (KiB) 1.024 (yani 210) bayta eşit olduğu 2'nin kuvvetlerine dayalı bir birim sistemi uluslararası standart IEC 80000-13 tarafından tanımlanmıştır ve ulusal ve uluslararası standart kuruluşları (BIPM, IEC, NIST) tarafından desteklenmektedir. IEC standardı, 10248 bayta eşit olan 1 yobibyte'a (YiB) kadar sekiz kat tanımlar.

Aynı birimler için 1 kilobaytın (KB) 1.024 bayta, 1 megabaytın (MB) 10242 bayta ve 1 gigabaytın (GB) 10243 bayta eşit olduğu alternatif bir adlandırma sistemi (burada geleneksel kural olarak anılacaktır) 1990'ların JEDEC standardında belirtilmiştir. JEDEC standardında yalnızca ilk üç kattan (GB'ye kadar) bahsedilmekte, TB ve daha büyük değerlerden bahsedilmemektedir. Microsoft Windows işletim sistemi ve ana bellek ve CPU önbellek boyutu gibi rastgele erişimli bellek kapasitesi ve Vodafone, AT&T, Orange ve Telstra gibi telekomünikasyon şirketleri tarafından pazarlama ve faturalandırmada geleneksel kural kullanılmaktadır.

Bu tanım, Mac OS X Snow Leopard ve iOS 10 öncesinde Apple Inc. işletim sistemleri tarafından 10'un kuvvetlerine dayalı birimlere geçilmeden önce kullanılmıştır.

Mahalle birimleri

Çeşitli bilgisayar satıcıları çeşitli boyutlardaki veriler için terimler üretmişlerdir, bazen tek bir satıcı içinde bile aynı terim için farklı boyutlar söz konusudur. Bu terimler arasında çift kelime, yarım kelime, uzun kelime, dörtlü kelime, slab, süper kelime ve hece bulunmaktadır. Ayrıca gayri resmi terimler de vardır. örneğin, 4 bit için yarım bayt ve nybble, 10008 için sekizli K.

Çelişkili tanımların tarihçesi

Birim öneklerinin ondalık ve ikili yorumlamaları arasındaki yüzde farkı, artan depolama boyutuyla birlikte büyür

Çağdaş bilgisayar belleğinin ikili bir mimariye sahip olması, bellek birimlerinin 2'nin kuvvetlerine dayalı bir tanımını en pratik hale getirmektedir. İkili katlar için metrik önek kilo kullanımı bir kolaylık olarak ortaya çıkmıştır, çünkü 1.024 yaklaşık 1.000'dir. Bu tanım kişisel bilgi işlemin ilk yıllarında popülerdi; Tandon 514 inç DD disket formatı (368.640 bayt tutar) gibi ürünler 1.024 bayt kuralına uygun olarak "360 KB" olarak tanıtılıyordu. Ancak bu evrensel değildi. Shugart SA-400 514 inçlik disket biçimlendirilmemiş olarak 109,375 bayt tutuyordu ve 1000 konvansiyonu kullanılarak "110 Kbyte" olarak tanıtılıyordu. Aynı şekilde, 8 inçlik DEC RX01 disketi (1975) 256,256 bayt formatlıydı ve "256k" olarak tanıtılıyordu. Diğer diskler bu iki tanımın bir karışımı kullanılarak tanıtılmıştır: özellikle "1,44 MB" olarak tanıtılan 3+1⁄2 inç HD diskler aslında 1,47 MB veya 1,41 MiB'ye eşdeğer olan 1.440 KiB kapasiteye sahiptir.

1995 yılında, Uluslararası Saf ve Uygulamalı Kimya Birliği'nin (IUPAC) İsimlendirme ve Semboller Bölümlerarası Komitesi, 1024'ün kuvvetleri için kibi (kilobinary), mebi (megabinary) ve gibi (gigabinary) dahil olmak üzere bir dizi ikili önek önererek bu belirsizliği çözmeye çalıştı.

Aralık 1998'de IEC, IUPAC'ın önerdiği önekleri (kibi, mebi, vb.) 1024'ün güçlerini açık bir şekilde ifade etmek için benimseyerek bu tür çoklu kullanımları ve tanımları ele aldı. Böylece bir kibibyte (1 KiB) 10241 bayt = 1024 bayt, bir mebibyte (1 MiB) 10242 bayt = 1,048,576 bayt ve bu şekilde devam eder.

1999 yılında Donald Knuth kibibyte'a "büyük kilobyte" (KKB) denmesini önermiştir.

Modern standart tanımlar

IEC, IUPAC önerisini kabul etti ve standardı Ocak 1999'da yayınladı. IEC önekleri artık Uluslararası Miktarlar Sisteminin bir parçasıdır. IEC ayrıca kilobaytın yalnızca 1.000 baytı ifade etmek için kullanılması gerektiğini belirtmiştir.

Tanım üzerine davalar

Baytın katlarının ikili ve ondalık tanımlarına ilişkin tüketici karışıklığı iddialarından kaynaklanan davalar genellikle üreticilerin lehine sonuçlanmış, mahkemeler gigabayt veya GB'nin yasal tanımının ikili tanım (230) yerine 1 GB = 1.000.000.000 (109) bayt (ondalık tanım) olduğuna karar vermiştir. Özellikle, Kaliforniya Kuzey Bölgesi Birleşik Devletler Bölge Mahkemesi, "ABD Kongresi, gigabaytın ondalık tanımını 'ABD ticareti ve ticareti' amaçları için 'tercih edilen' tanım olarak kabul etmiştir [...] Kaliforniya Yasama Meclisi de aynı şekilde 'bu eyaletteki tüm işlemler' için ondalık sistemi benimsemiştir."

Disk üreticisi Western Digital'e karşı açılan dava gibi daha önceki davalar da mahkeme kararı olmaksızın uzlaşmayla sonuçlanmıştı. Western Digital davayı çözdü ve ürünlerine kullanılabilir kapasitenin reklamı yapılan kapasiteden farklı olabileceğine dair açık feragatnameler ekledi. Seagate'e de benzer gerekçelerle dava açılmış ve o da anlaşmaya varmıştır.

Pratik örnekler

Birim Yaklaşık eşdeğer
bayt temel bir Latin karakteri.
kilobayt "Jabberwocky" metni
tipik bir favicon
megabayt Harry Potter ve Ateş Kadehi'nin metni
gigabayt yaklaşık yarım saatlik bir video
Mellon Collie and the Infinite Sadness'ın CD kalitesinde ses kaydı
terabayt 2007'de en büyük tüketici sabit diski
Avatar: Son Hava Bükücü animasyon televizyon dizisinin 61 bölümünün tamamının 1080p 4:3 videosu
petabyte 2000 yıllık MP3 kodlu müzik
exabyte 2004'te küresel aylık İnternet trafiği
zettabyte 2016'da küresel yıllık İnternet trafiği

Yaygın kullanımlar

Birçok programlama dili byte veri tipini tanımlar.

C ve C++ programlama dilleri baytı "yürütme ortamının temel karakter kümesinin herhangi bir üyesini tutmaya yetecek büyüklükte adreslenebilir bir veri depolama birimi" olarak tanımlar (C standardı madde 3.6). C standardı, unsigned char integral veri tipinin en az 256 farklı değer tutmasını ve en az sekiz bit ile temsil edilmesini gerektirir (madde 5.2.4.2.1). C ve C++'ın çeşitli uygulamaları bir baytın depolanması için 8, 9, 16, 32 veya 36 bit ayırır. Buna ek olarak, C ve C++ standartları iki bayt arasında boşluk olmamasını gerektirir. Bu, bellekteki her bitin bir baytın parçası olduğu anlamına gelir.

Java'nın ilkel veri türü byte sekiz bit olarak tanımlanır. 128'den 127'ye kadar değerleri tutan işaretli bir veri türüdür.

C# gibi .NET programlama dilleri byte'ı işaretsiz bir tür olarak, sbyte'ı ise sırasıyla 0 ila 255 ve -128 ila 127 arasındaki değerleri tutan işaretli bir veri türü olarak tanımlar.

Veri iletim sistemlerinde bayt, bir seri veri akışında bitişik bit dizisi olarak kullanılır ve en küçük ayırt edici veri birimini temsil eder. Bir iletim birimi ek olarak başlatma bitleri, durdurma bitleri ve eşlik bitleri içerebilir ve bu nedenle boyutu tek bir yedi bitlik ASCII kodu içerecek şekilde yedi ila on iki bit arasında değişebilir.