Merhaba arkadaşlar Bir filmdeki bütün sahneleri betimlemek için kelimeleri kullandığınızı hayal edin, en sevdiğiniz şarkıdaki bütün notaları, ya da şehrinizdeki bütün sokakları. Şimdi de bunu sadece 1 ve 0 sayılarını kullanarak yaptığınızı hayal edin. Film izlemek, müzik dinlemek, ya da yol bulmak için İnternet her kullandığınızda cihazınızın yaptığı şey tam olarak bu, ikili kod yani binary dilini kullanmak.
Bilgisayarlar ikili kodu kullanır çünkü bu veri depolamak için güvenli bir yöntemdir. Mesela, bilgisayarın ana belleği 5 volt ve 0 volt gibi yüksek veya düşük voltaj seviyeleri arasında gidip gelen transistörlerden oluşur. Voltaj bazen arada bir yerde kalır, ama sadece iki seçenek olduğundan 1 voltun değeri yine “düşük” olarak okunur. Bu okuma bilgisayarın işlemcisi tarafından yapılır, işlemci diğer cihazları kontrol etmek için yazılım yönergelerine göre transistörlerin durumlarını kullanır.
Sistemin dehası şu ki, verilen bir ikili kod diziliminin kendisine ait önceden belirlenmiş bir anlamı yoktur. Onun yerine, her veri tipi farklı bir kurallar bütününe göre kodlanmıştır. Sayıları ele alalım. Normal ondalık sisteme göre, sağdan 0 ile başlamak suretiyle her sayı 10 üzeri sayının bulunduğu basamak değeriyle çarpılır. Yani 84 sayısı ondalık haliyle 4×10⁰ + 8×10¹’e denktir. İkili kodda da sayı yazımı benzer şekilde çalışır, ama her basamakta 2’nin bir kuvveti alınır. Yani 84 sayısı şu şekilde yazılacaktır: Bu arada, kelimeler her karakteri 8 haneli bir ikili kod dizisine eşleyen UTF-8 benzeri standart kurallara bağlı olarak anlamlandırılır. Bu durumda, 01010100 dizisi T harfini karşılayacaktır.
O zaman verilen bir dizi örneğinin T’ye mi yoksa 84’e mi karşılık geldiğini nasıl anlayabilirsiniz?
Sadece diziyi görerek anlayamazsınız, – tıpkı yalnızca “da” sesini duyarak ne anlama geldiğini anlayamayacağınız gibi. Rusça, İspanyolca ya da İngilizce olduğunu anlamak için bağlama ihtiyaç duyarsınız. İkili kodda da sayılara mı yoksa bir metne mi bakıyor olduğunuzu anlamak için benzer bir bağlam gereklidir. İkili kod, çok daha karmaşık tipte veriler için de kullanılır.
Bir videonun her bir karesi mesela, yüz binlerce pikselden oluşur. Renkli görüntülerde, her piksel ana renklere karşılık gelen üç adet ikili kod dizisi tarafından temsil edilir. Her dizi bir sayı kodlar, bu sayı da o rengin yoğunluğunu belirler. Sonra, bir video oynatma programı bu bilgiyi ekranınızdaki milyonlarca sıvı kristale gördüğünüz bütün tonları oluşturmak için iletir. Bu videonun sesi de ikili kod aracılığıyla, darbe kod kiplenimi adı verilen bir teknik yardımıyla saklanır. Sürekli ses dalgaları, birkaç milisaniyede bir genliklerinin anlık görüntüleri alınarak sayısallaştırılır. bunlar sesin her saniyesinde 44,000 adet olmak üzere ikili kod hâlindeki sayılar olarak kaydedilir. Bunlar, bilgisayarınızın işitsel yazılımı tarafından okunduğunda, sayılar farklı frekansta sesler oluşturmak için hoparlörlerinizdeki bobinlerin hangi hızda titremesi gerektiğine karar verirler. Bunların her biri milyarlarca bit gerektirir. Fakat bu miktar akıllıca sıkıştırma formatlarıyla azaltılabilir. Mesela, eğer fotoğrafta 30 adet yeşil komşu piksel varsa, run-length encoding denilen bir sistemle, ayrı ayrı kodlanmak yerine “30 yeşil” olarak kodlanılabilir. Bu sıkıştırma yöntemlerinin kendileri ikili kodla yazılmıştır.
Yani ikili kod, proglamlamanın olmazsa olmazı mı?
Tam olarak değil. 3 muhtemel durumda devresi olan 3 terimli bilgisayarlar üzerinde ve hatta devreleri rastgele ve çoklu olabilen kuantum bilgisayarlar üzerinde araştırmalar yapıldı. Ama şimdiye kadar bunların hiçbiri veri saklama ve aktarma konusunda bu kadar stabil olamadı. Yani şimdilik, gördüğünüz, duyduğunuz ve ekranda okuduğunuz her şey size milyarlarca kez yapılan bir “doğru” yada “yanlış” seçiminin sonucu olarak ulaşıyor.
İkili Kod (Binary) Harf Tablosu
Binary harf tablosu ile istediğiniz metni binary’e kolaylıkla çevirebilirsiniz.
Harf | ASCII Kodu | Binary | Harf | ASCII Kodu | Binary |
a | 97 | 01100001 | A | 65 | 01000001 |
b | 98 | 01100010 | B | 66 | 01000010 |
c | 99 | 01100011 | C | 67 | 01000011 |
d | 100 | 01100100 | D | 68 | 01000100 |
e | 101 | 01100101 | E | 69 | 01000101 |
f | 102 | 01100110 | F | 70 | 01000110 |
g | 103 | 01100111 | G | 71 | 01000111 |
h | 104 | 01101000 | H | 72 | 01001000 |
i | 105 | 01101001 | I | 73 | 01001001 |
j | 106 | 01101010 | J | 74 | 01001010 |
k | 107 | 01101011 | K | 75 | 01001011 |
l | 108 | 01101100 | L | 76 | 01001100 |
m | 109 | 01101101 | M | 77 | 01001101 |
n | 110 | 01101110 | N | 78 | 01001110 |
o | 111 | 01101111 | O | 79 | 01001111 |
p | 112 | 01110000 | P | 80 | 01010000 |
q | 113 | 01110001 | Q | 81 | 01010001 |
r | 114 | 01110010 | R | 82 | 01010010 |
s | 115 | 01110011 | S | 83 | 01010011 |
t | 116 | 01110100 | T | 84 | 01010100 |
u | 117 | 01110101 | U | 85 | 01010101 |
v | 118 | 01110110 | V | 86 | 01010110 |
w | 119 | 01110111 | W | 87 | 01010111 |
x | 120 | 01111000 | X | 88 | 01011000 |
y | 121 | 01111001 | Y | 89 | 01011001 |
z | 122 | 01111010 | Z | 90 | 01011010 |