Dijital Elektronik -5- Binary Kodlama

Buraya kadar sayı sistemlerini geride bıraktığımıza göre asıl konumuz olan ikilik sayı sistemi üzerinden devam edebiliriz. Yazıları kısa tutmak ve orjinalliği korumak adına önemli bilgileri ve püf noktalarını vurgulayarak ilerliyoruz. Bu yazılara devam ederken bir dijital elektronik kitabı edinmeniz veya farklı kaynaklardan istifade etmeniz öğrenmeniz açısından daha faydalı olacaktır. Dijital elektronik konusunda kaynaklar bol olduğu için bu yazılarda içerik konusunda biraz daha serbest davranmaktayız.

İkilik kodlama dediğimizde temel olarak ikilik sayıların farklı bilgileri temsil etmesi adına kodlanması diyebiliriz. Örneğin bir ikilik sayıyı çevirilerek sayı değeri açısından onluk veya onaltılık değeri elde edebiliriz. Fakat bir harfi ifade etmek istediğimizde bunu sayılarla doğrudan ifade şansımız yoktur. Bu durumda her bir ikilik sayının sayı değerini temsil değeri olarak ele alıp bir standarta göre çevirmemiz gerekecektir. Bu temsil ile ifade etme analog elektronikte de kullanılmaktadır. Örneğin bir ledin yanması bir anlam ifade etmezken kart güç geldiğinde güç ledinin yanması ya da batarya zayıfladığında batarya ışığının yanması bu şekildedir. İkilik sistemde de farklı değerleri ve bilgileri bu şekilde temsil ederek kullanmaktayız.

BCD Kodlama

İkilik bir sayı değerini onluk sayı olarak temsil etme yöntemine BCD kodlama adı verilir. BCD, “Binary Coded Decimal” ifadesinin kısaltmasıdır. BCD kodu 7 segman gösterge sürücüleri gibi çeşitli dijital devrelerde kullanılmaktadır. BCD-Onluk ve Onluk-BCD çevirimi daha önce bahsettiğimiz ikilik ve onaltılık çevirimi gibi doğrudan olduğu için gayet kolay bir şekilde hesaplanabilir. Örneğin 357 sayısını  0011 0101 0111 (BCD) olarak çevirebiliriz. Burada her hanenin 4 bitlik bir BCD karşılığı olduğuna dikkat etmeniz gereklidir. Yani 357 sayısının sayısal olarak ikilik karşılığı 101100101 olsa da biz burada 357 sayısını 3, 5 ve 7 olarak tek tek ele alıp her birini BCD formata çevirerek kullanırız. BCD kodlama sayıların rakam rakam ele alındığı yerlerde oldukça kolay bir yöntem olarak karşımıza çıkar. Aşağıdaki tablodaki standartlara göre BCD kodlaması yapılır.

BCD’den ikilik sayıya veya ikilik sayıdan BCD sayıya çevirim bu tabloya bakılarak yapılmaktadır. Herhangi bir hesaplamaya gerek yoktur. Bu yönden bir kolaylık sağlamaktadır.

Gray Kodu

Gray kodu Frank Gray tarafından tasarlanmış ve adını buradan almaktadır. 1953 yılında patentlenen bu kod doğrudan ikilik kodlamaya göre daha az sistem hatası veren bir yapıya sahiptir. Bu kod elektronikte pek karşımıza çıkmasa da eğitimde verildiği için kısaca bahsetmek istedik. Aşağıda gray kodunun tablosunu görebilirsiniz. Gray kodu genellikle dijital sistemlerde veri iletiminde kullanılmaktadır. Ayrıca açı ölçme aygıtlarında da kullanıldığını görebilirsiniz. Kullanılmasının temel gayesi veri yanlışlıklarını en aza indirmektir.

ASCII Kodu

ASCII kodlaması alfanümerik kodlamalar arasında ve hatta binary kodlama arasında öğrenmemiz gereken en önemli kodlamalardan biridir. Pek çok yazılımcının öğrenmesi gereken temel bilgilerden biri olan ASCII kodları BCD kodlarına benzer bir şekilde fakat daha kapsamlı olarak bütün rakam ve harfleri içerisine almaktadır. Bunun yanında bazı bilgisayar komutları, semboller, noktalama işaretleri de ASCII kodları ile temsil edilmektedir. Klavyede girdiğiniz değerlerin büyük bir kısmı ASCII kodlarıyla temsil edilmektedir. Bastığınız boşluk tuşu, enter tuşu, tab tuşu gibi tuşların birer sayısal karşılığı bulunmaktadır. ASCII kodlarında büyük ve küçük harflerin ayrı birer harf olarak ele alındığını görmekteyiz. Çünkü bilgisayar ekrana bunu yazdırırken hangisinin büyük hangisinin küçük olduğunu anlayacak kadar zeki değildir. Bütün harfler ikilik sistemde temsil ediliyorsa büyük ve küçük harf için farklı bir kodun olması zorunludur. ASCII kodları 7-bit yani 0-127 arasında olsa da zamanla gelişmiş 0-255 arasında toplam 256 harf, sembol ve komutu içerir olmuştur.  Ayrıca ASCII komutlarını canlı olarak görmek istediğiniz zaman Windows’da ALT + Sayı Değeri olarak giriş yapabilirsiniz. Örneğin ALT + 65 yazdığımda A harfi ortaya çıkmaktadır. ASCII tablosunu aşağıdaki bağlantıda görebilirsiniz. Biraz uzun olduğu için yazıya koymak istemiyorum.

https://theasciicode.com.ar/

Unicode

ASCII, EBCDIC gibi kodlama sistemleri bütün dillerdeki harfleri, rakamları ve sembolleri karşılayacak derecede geniş ölçekli değildir. Genişletilmemiş ASCII 7-bit, genişletilmiş sürümü ise bazı Avrupa dillerindeki harfleri de içine alarak 8-bit olsa da dünyadaki tüm diller ve alfabelerdeki harfleri içine alması mümkün değildir. Bilgisayarlar tüm dünyada ve farklı dillerde kullanılmaya başlayınca buna bir çözüm getirmek adına Unicode adı verilen kodlama sistemi geliştirilmiştir. Unicode ISO standartlarına göre belirlenmiş olup belli bir standarta sahiptir. Belli başlı Unicode standartları olup Unicode karakterler gürcü, kıril, arap, moğol, çin, japon ve kore yazılarına ait harf ve sembolleri bile içerir.

Unicode tablosunu aşağıdan görebilirsiniz.

https://unicode-table.com/tr/#control-character

Binary kodlama hakkında bilmeniz gereken en önemli bilgileri bu başlıkta topladık. Bir sonraki konumuzda ikilik tabanda aritmetik işlemlerden bahsedeceğiz.

Bizi Facebook grubumuzda takip etmeyi unutmayın. Bilgili ve öğrenmeye hevesli bir topluluk oluşturmak istiyoruz.

https://www.facebook.com/groups/1233336523490761/

UYARI!!

Gökhan Dökmetaş

"Arduino Eğitim Kitabı" ve "Arduino ve Raspberry PI ile Nesnelerin İnterneti" kitaplarının yazarı. Başkent Teknoloji ve Dedektör Merkezi'nde Ar-ge Sorumlusu. Araştırmacı-Yazar.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.