İkili Kod Nedir? 0 ve 1’lerle Veri Nasıl Temsil Edilir?
İkili kod, bilgileri genellikle 0 ve 1’lerden oluşan dizilerle ifade eden bir kodlama biçimidir. Bilgisayarlar farklı veri türlerini bit dizilerine dönüştürerek işler ve saklar. İkili kod ile ikili sayı aynı şey değildir: Biri genel bir kodlama yaklaşımı, diğeri sayıların yazıldığı bir sayı sistemidir.
Bu yazıda (5)
Bilgisayarlar bilgiyi doğrudan harf, resim veya ses olarak değil, ayırt edilebilen iki temel duruma dayalı biçimde işler. İkili kod bu iki durumu 0 ve 1 sembolleriyle gösterir; böylece farklı bilgiler bit dizileri hâline getirilebilir.
İkili kodun tanımı
İkili kod, bir bilgiyi iki farklı sembolün düzenli birleşimleriyle temsil eden kodlama yöntemidir. Bilgisayar biliminde bu semboller çoğunlukla 0 ve 1’dir. Tek bir 0 veya 1 fazla miktarda bilgi taşımaz; ancak birçok bit belirli bir kurala göre yan yana getirildiğinde bir sayı, karakter, komut ya da başka bir veri anlamına gelebilir. Bu nedenle ikili kod yalnızca “0 ve 1 yazmak” değildir. Asıl önemli olan, bu dizinin hangi kurala göre okunacağını belirleyen kodlama düzenidir.
İkili kodun nasıl çalıştığını anlamak için her diziyi bir eşleştirme olarak düşünebiliriz. Bir sistem, belirli bir bit dizisini belirli bir bilgiyle eşleştirir; bilgisayar da diziyi okuduğunda bu kurala göre anlamlandırır. Örneğin Braille sisteminde altı noktadan oluşan hücrelerde her nokta kabartılmış veya düz olabilir. Kabartılmış ve düz noktaların farklı birleşimleri harfleri, sayıları ve noktalama işaretlerini gösterebilir. Burada iki durum 0 ve 1 olarak yazılmasa bile, iki seçenekli yapı ikili kod mantığını gösterir. Bilgisayarlardaki kodlamalarda da benzer biçimde, bit dizileri önceden belirlenmiş kurallarla verilere karşılık gelir.
Bir ikili kod dizisi insan için doğrudan okunabilir olmak zorunda değildir. İnsanların gördüğü harf veya komutun arkasında, makinenin işleyebildiği 0 ve 1 dizisi bulunabilir. Kodun anlamı, dizinin kendisinden çok onu yorumlayan kurala bağlıdır.
0 ve 1 değerlerinin anlamı
İkili kodda 0 ve 1, dijital bir sistemin ayırt edebildiği iki temel durumu gösterir. Bu durumlar bir devrede elektrik sinyalinin bulunması veya bulunmaması, bir anahtarın açık ya da kapalı olması ve bir mantık koşulunun yanlış ya da doğru kabul edilmesi şeklinde düşünülebilir. Bu yüzden 0 her zaman yalnızca matematiksel “hiçlik”, 1 de yalnızca matematiksel “bir” anlamına gelmez; anlam, kullanılan sisteme ve kodlama kuralına göre belirlenir. İki durumun birbirinden net biçimde ayrılabilmesi, bilgisayarların bilgiyi güvenilir şekilde işlemesine yardımcı olur. Mantık devrelerinde VE, VEYA ve DEĞİL gibi işlemler de bu iki durumlu yapı üzerinden kurulabilir. Örneğin iki koşulun aynı anda gerçekleşmesi isteniyorsa, ilgili iki bitin de 1 olması “doğru” sonucu oluşturacak şekilde bir kural kurulabilir.
Bit ve bit dizisi kavramı
Bit, “binary digit” ifadesinin kısaltmasıdır ve ikili sistemdeki tek bir basamağı anlatır. Bir bit yalnızca 0 veya 1 değerlerinden birini alabilir. Birden fazla bit yan yana geldiğinde bit dizisi oluşur. Örneğin 101100 bir bit dizisidir ve altı bitten meydana gelir. Bu dizinin ne anlama geldiği, onu kullanan kodlama kuralına göre değişir; aynı dizinin sayı, karakter veya komut olarak yorumlanması mümkündür.
Bit sayısı arttıkça oluşturulabilecek farklı dizilerin sayısı da artar. İki seçenekli her bit, dizinin toplam olasılıklarını çoğaltır. Bu nedenle bilgisayarlar küçük bit gruplarını bir araya getirerek daha çok bilgiyi temsil eder. Bit dizileri bellekte saklanabilir, işlemci tarafından okunabilir veya ağ üzerinden aktarılabilir.
Byte, yaygın olarak sekiz bitten oluşan bir veri grubudur. Dosya boyutları ve depolama kapasitesi gibi konularda bitin yanı sıra byte ve onun daha büyük birimleri de kullanılır.
Bilgisayarlarda veri temsilinin temel mantığı
Bilgisayarın işlediği her veri, donanımın ayırt edebildiği iki durumla uyumlu bir gösterime dönüştürülür. Bu dönüşümün temelinde, veriye karşılık gelen bit dizisini belirleyen bir kural vardır. Bilgisayar bir sayıyı işlerken bitlerin düzenini sayısal bir değer olarak yorumlayabilir. Bir metin söz konusu olduğunda ise her karaktere belirli bir bit dizisi atanır. Bir programın talimatları da işlemcinin anlayacağı kodlanmış diziler biçiminde tutulabilir. Böylece farklı görünen veri türleri, donanım açısından işlenebilen ortak bir biçime kavuşur.
Süreçte üç temel adım bulunur: Önce veri türüne uygun bir kodlama kuralı seçilir, sonra bilgi bu kurala göre 0 ve 1’lerden oluşan bir diziye çevrilir, son olarak bilgisayar bu diziyi saklar veya işler. Okuma sırasında ters yönde bir yorumlama yapılır. Yazılım, dizinin hangi tür veriye ait olduğunu ve hangi kuralın kullanılacağını bildiği için bitleri anlamlı bir sonuca dönüştürebilir. Bu nedenle bit dizisi tek başına her zaman yeterli değildir; dizinin bağlamı da önemlidir.
Örneğin 0101 dizisi bir durumda ikili sayı olarak 5 değerini gösterebilir. Başka bir kodlama düzeninde aynı dizi bir karakteri, bir işlem komutunu veya bir cihazın durum bilgisini temsil edebilir. Dizinin anlamını belirleyen şey, 0 ve 1’lerin görünüşü değil, kullanılan eşleştirme kuralıdır. Makine kodu ve bytecode gibi insan tarafından doğrudan okunması amaçlanmayan biçimler de ikili veri olarak temsil edilebilir.
Sayılar, metinler, komutlar ve diğer veri türleri için farklı kodlama kuralları kullanılabilir. Her kural, veriyi belirli bit dizileriyle eşleştirir. Görüntü, ses ve video da bilgisayarlarda ikili biçimde temsil edilebilen veri türlerindendir; bunların ayrıntılı kodlama yöntemleri ayrı bir konudur.
İkili kod ile ikili sayı arasındaki fark
İkili sayı sistemi, sayıların yalnızca 0 ve 1 basamakları kullanılarak yazıldığı sayı sistemidir. Bu sistemde basamakların değeri, bulundukları konuma göre belirlenir. İkili sayılarla onluk sayılar arasındaki dönüşüm konusu, bu sayı sistemlerinin birbirine nasıl çevrildiğini açıklar.
İkili kod ise daha geniş bir kavramdır. Bir bit dizisinin mutlaka bir sayıyı göstermesi gerekmez; dizi bir harfe, komuta, durum bilgisine veya başka bir veriye karşılık gelebilir. Örneğin 1101 dizisi, ikili sayı olarak bir sayısal değere sahip olabilir. Ancak bir kodlama kuralı bu diziyi bir cihaz komutu olarak tanımlamışsa bilgisayar onu sayı işlemi yapmak için değil, bir işlem gerçekleştirmek için yorumlayabilir.
Bu nedenle her ikili sayı 0 ve 1’lerden oluşan bir dizi olarak yazılabilir; fakat her 0 ve 1 dizisi yalnızca ikili sayı değildir. İkili sayı, sayıların gösterimine odaklanır. İkili kod ise bilgilerin iki sembollü dizilerle temsil edilmesine ve bu dizilerin bir kurala göre yorumlanmasına odaklanır.
Bilgisayarda kaydettiğiniz bir belgeyi açtığınızda ekranda harfler ve simgeler görürsünüz; ancak cihaz bu verileri kendi içinde bit dizileri olarak saklar. Aynı temel yaklaşım, bir uygulamanın komutları ve cihazların durum bilgileri için de kullanılır.
Bir bit dizisini doğrudan ikili sayı kabul etmemek gerekir. Dizinin sayı mı, karakter mi yoksa başka bir veri mi olduğunu belirleyen kodlama kuralı ve bağlamdır.
Sık sorulan sorular
İkili kod yalnızca bilgisayarlarda mı kullanılır?
Hayır. İki durumlu sembollerle bilgi temsil eden sistemler bilgisayarlardan önce de kullanılmıştır. Ancak bilgisayarlar bu yaklaşımı elektronik devrelerle çok geniş ölçekte uygular.
Bir bit kaç farklı değer alabilir?
Bir bit iki farklı değer alabilir: 0 veya 1.
Her 0 ve 1 dizisi ikili sayı mıdır?
Hayır. Bir dizi, kullanılan kurala göre sayı dışında bir karakteri, komutu veya başka bir bilgiyi de temsil edebilir.
Byte ile bit arasındaki fark nedir?
Bit tek bir 0 veya 1 değeridir. Byte ise yaygın olarak sekiz bitten oluşan bir veri grubudur.
- •Wikipedia (EN) — Binary code — Binary code / girisen.wikipedia.org