İkili Kod: Dijital Mantığın Temeli

Kerem Aydın·7 Temmuz 2026·⏱5 dk

İkili kod; metin, görüntü ve programlar gibi herhangi bir bilginin yalnızca iki sembolün (0 ve 1) dizisi şeklinde temsil edilme yöntemidir. İşlemciler bunlarla çalışır çünkü elektronik devreler için çok sayıda ara voltaj değeri yerine "akım var" (1) ve "akım yok" (0) olmak üzere iki durumu ayırt etmek fiziksel olarak daha kolay ve güvenilirdir.

Bu makalede, bu sistemin nasıl işlediğini, neden endüstri standardı haline geldiğini ve soyut sıfırların çalışan uygulamalara nasıl dönüştüğünü inceleyeceğiz.

Özetle: Bilgisayar verilerin "anlamını" anlamaz. Sadece sıkı mantıksal kurallara göre elektrik sinyallerini manipüle eder. İkili kod, bu sinyallerin dilidir.

Neden 0 ve 1? Sürecin Fiziği

Hesaplama teknolojisinin ilk günlerinde mühendisler onluk ve diğer sayı sistemlerini kullanmayı denediler ancak elektronik bileşenlerin güvenilirliği konusunda sorunlarla karşılaştılar.

Sinyal Güvenilirliği

0'dan 9'a kadar olan bir sayıyı voltaj kullanarak iletmeniz gerektiğini hayal edin. Güç hattında parazit veya direnç varsa voltaj "düşebilir". 0.5 voltluk bir dalgalanma olduğunda "7 volt" sinyalini "8 volt"tan ayırt etmek zordur.

İkili sistemde eşik çok daha geniştir:

  • Mantıksal 0: Voltaj 0 V'a yakındır (örneğin 0 ile 0.8 V arası).
  • Mantıksal 1: Voltaj besleme voltajına yakındır (örneğin 2.0 ile 3.3 V arası veya üzeri).

Herhangi bir ara değer hata olarak kabul edilir veya dikkate alınmaz. Bu durum sistemi gürültüye, aşırı ısınmaya ve bileşenlerin eskimesine karşı dayanıklı hale getirir.

Donanım Uygulamasının Basitliği

Bilgisayarın temel elemanı transistördür. Aslında bu, mikroskobik bir anahtardır. İki net durumu vardır:

  1. Devre açık (akım yok) → 0.
  2. Devre kapalı (akım var) → 1.

Sinyal gradasyonlarını tanımlamak için karmaşık analog devrelere ihtiyaç duyulmadığından ikili mantığı kullanmak daha ucuz ve enerji verimlidir.

Ölçü Birimleri: Bitten Terabayta

Bilgisayardaki bilgiler tek tek saklanmaz. Bitler, işlem kolaylığı sağlamak amacıyla gruplanır.

BirimGösterimİçerikNe Saklayabilir
Bitbit1 karakter (0 veya 1)Bilginin en küçük birimi
Nibblenibble4 bitTek bir onaltılık basamak
BaytByte8 bitTek bir metin karakteri (ASCII'de) veya 255'e kadar bir sayı
KilobaytKB1024 baytKısa bir metin mesajı
MegabaytMB1024 KBOrta kalitede bir fotoğraf
GigabaytGB1024 MBHD kalitesinde bir film

Neden 1000 değil de 1024? Çünkü bilgisayar ikilik tabanda sayar. $2^{10} = 1024$. Bu, ikili mantık tarafından kolayca işlenebilen ve bine en yakın uygun sayıdır.

Sıfırlardan Metin ve Resimler Nasıl Oluşur?

01001000 kendi başına hiçbir şey ifade etmez. Anlam, yalnızca bit kümelerinin nasıl yorumlanacağına dair bir anlaşma olan kodlama sayesinde ortaya çıkar.

Metin Kodlaması

En basit örnek ASCII tablosudur. Her sembole bir numara atanmıştır.

  • Onluk sistemdeki 65 sayısı = ikili sistemde 01000001.
  • ASCII tablosuna göre 65 kodu «A» harfine karşılık gelir.

Bir metin dosyasını açtığınızda, işlemci baytları okur, kodlama tablosuna (örneğin UTF-8) bakar ve ekrana ilgili font gliflerini yazdırır.

Görüntüler ve Renkler

Dijital bir resim, piksellerden oluşan bir ızgaradır. Her pikselin rengi sayılarla kodlanır. RGB (Red, Green, Blue - Kırmızı, Yeşil, Mavi) formatında renk, 0 ile 255 arasında üç sayı ile belirlenir.

  • Kırmızı: 255, 0, 0 → ikili görünümde: 11111111 00000000 00000000.
  • Siyah: 0, 0, 0 → tümü sıfır.
  • Beyaz: 255, 255, 255 → tümü bir.

Bu şekilde, herhangi bir fotoğraf, ekranın her noktası için üç rengin parlaklığını tanımlayan devasa bir ikili kod dizisidir.

İşlemci Programları Nasıl Çalıştırır?

Program da sıfır ve birlerden oluşan bir dosyadır. Ancak metin dosyasında baytlar harfleri ifade ederken, yürütülebilir dosyada (.exe) bunlar işlemci için komutları ifade eder.

Makine Kodu

Her işlemci talimatının kendine özgü bir ikili kodu (opkod) vardır. Örneğin, x86 mimarisinde iki sayının toplanması komutu belirli bir bit dizisi olarak görünebilir.

Süreç şöyle işler:

  1. Getirme (Fetch): İşlemci, RAM'den sonraki bit grubunu okur.
  2. Çözümleme (Decode): CPU içindeki özel bir blok, bunun hangi komut olduğunu (topla, taşı, karşılaştır) belirler.
  3. Yürütme (Execute): Aritmetik Mantık Birimi (ALU), kaydedicilerdeki veriler üzerinde işlemi gerçekleştirir.
  4. Yazma (Writeback): Sonuç tekrar belleğe veya kaydediciye kaydedilir.

Yeni başlayanların sık yaptığı bir hata: İşlemcinin "düşündüğünü" sanmak. Hayır, işlemci sadece katı bir şemaya göre transistörleri mekanik olarak açıp kapatır. Programlardaki hatalar işlemcinin "aptallığından" değil, programcı tarafından yazılan yanlış talimatlardan kaynaklanır.

Sayı Dönüşümü: İkili Kodu Anlamak

İkili kodu okumak için konumsal sistemin ilkesini anlamak gerekir. Onluk sistemde 10'un kuvvetlerini ($1, 10, 100...$) kullanırız. İkili sistemde ise 2'nin kuvvetlerini ($1, 2, 4, 8, 16, 32...$) kullanırız.

1011 sayısını inceleyelim:

  • Sağdan sola doğru pozisyonların ağırlıkları: $2^0, 2^1, 2^2, 2^3$ (yani 1, 2, 4, 8).
  • Rakamları yerlerine koyalım:
    • $1 \times 1 = 1$
    • $1 \times 2 = 2$
    • $0 \times 4 = 0$
    • $1 \times 8 = 8$
  • Toplam: $1 + 2 + 0 + 8 = 11$.

İkili sistemdeki 1011 sayısı, onluk sistemde 11'e eşittir.

İkili Sistem Hakkındaki Yaygın Yanlış Anlamalar

  1. «Bilgisayarlar sadece sıfır ve birleri anlar» Fiziksel düzeyde bunlar elektrik darbeleridir. Sıfır ve birler, insanların programlama kolaylığı için geliştirdiği bir soyutlamadır.

  2. «İkili kod onluk koddan daha yavaştır» Tam tersine. Elektronik için iki durumun işlenmesi sınırlı hızlarda (gigahertz) gerçekleşir. "Onluk" bir işlemci yapmaya çalışmak, devrelerin aşırı derecede karmaşıklaşmasına ve frekansın düşmesine yol açardı.

  3. «Tüm bilgiler her zaman çok yer kaplar» Sıkıştırma algoritmaları (ZIP, MP3, JPEG) sayesinde, tekrarlayan sıfır ve bir kalıpları daha kısa kayıtlarla değiştirilir. Bu olmasaydı, günümüzdeki veri hacimlerini saklamak imkansız olurdu.

SSS

Bilgisayar ikili sistem dışında çalışabilir mi? Teorik olarak evet. SSCB'de deneysel olarak üretilen ("Setun" bilgisayarı) üçlü bilgisayarlar (-1, 0, 1 durumlarını kullanır) mevcuttur. Bilgi yoğunluğu açısından daha verimli olsalar da üretim açısından teknolojik olarak daha karmaşıktır, bu nedenle yaygın kullanım bulamamışlardır.

Neden bir bayt tam olarak 8 bitten oluşur? Bu, 1960'larda IBM şirketi tarafından belirlenen tarihsel bir standarttır. 8 bit, 256 değeri kodlamaya olanak tanır ki bu çoğu alfabenin sembolü ve basit sayılar için yeterlidir. Bundan önce farklı uzunluklarda (6, 7, 9 bit) baytlar kullanılıyordu.

Bir sembolün ikili kodunu nasıl öğrenebilirim? Çoğu işletim sisteminde geliştirici araçları veya ASCII/Unicode tabloları bulunur. Örneğin, «A» harfi onluk sistemde 65 veya onaltılık sistemde 41'dir, bu da ikili görünümde 01000001 sonucunu verir.