Taban Aritmetiği ve ASCII kodları

Etiketler :
ASCII (American Standard Code for Information Interchange), bilgisayarlarda ve internette metin verileri için en yaygın karakter kodlama biçimidir. ASCII, siber güvenlik sistemlerinde şifreleme ve veri güvenliğini sağlayan temel araçlardan biridir. Bütün metin karakterleri, sosyal ağlarda kullanılan şifreler, ASCII (Amerikan Bilgi Değişimi İçin Standart Kod) karakter kümesinden seçilen harfler, sayılar ve sembollerle oluşturulur.  
Metin ve şifrelerde girilen her bir karakter ASCII karakter kümesinde belirli bir sayısal değere karşılık gelir. Standart ASCII kodlu verilerde, 128 alfabetik, sayısal veya özel ek karakter ve kontrol kodu için benzersiz değerler vardır. Yıllar içinde, orijinal 128 karakter kümesini ek semboller ve karakterlerle genişleten birkaç ASCII genişletilmiş küme ortaya çıkmıştır. (Resim: En sık kullanılan büyük ve küçük harf latin alfabesi karakterleri ve bazı sembollerin ASCII kodları)
 
ASCII kodlama sistemi, her biri kendine özgü ikili koduna atanmış yüzlerce karakter içerir. 128 karakterlik orijinal sistemde, ikili kodlar 7 bit uzunluğundaydı. Günümüzde ASCII, 8 bit bayt kullanan modern bilgisayarlarla uyumluluğu korumak için 8 bit kodlar kullanır. Bu kodlardaki ekstra bit genellikle 0 olarak ayarlanır. ASCII karakterleri arasında A'dan Z'ye kadar büyük ve küçük harfler, 0'dan 9'a kadar rakamlar ve temel noktalama işaretleri bulunur. 32-127 kodları, harfleri, rakamları, noktalama işaretlerini ve ^ [ \ ~ ve diğer çeşitli semboller gibi bazı özel karakterleri temsil eden yazdırılabilir. (Resim: 0-127 tüm ASCII  karakterlerin farklı taban karşılıkları) 
Hem orijinal hem de genişletilmiş formatlardaki ASCII karakterleri çeşitli şekillerde gösterilebilir: 1) Onaltılık basamak çiftleri olarak, 16 tabanındaki sayılar, 0'dan 9'a kadar ve 10-15 arasındaki ondalık değerler için A'dan F'ye kadar gösterilir. 2) Üç basamaklı sekizli taban olacak biçimde sayılar olarak, 0 dan 7'ye kadar olan rakamlardan oluşan sayı biçimde yazılabilir. 3) 0 ile 127 (veya genişletilmiş tabloda 0 ile 255) arasındaki ondalık sayılar olarak karakterler gösterilebilir. 4) 7-bit veya 8-bit ikili olarak. HTML numarası olarak da yazılabilir. (Resim: m harfinin çeşitli tabanlardaki gösterimi ve HTML numarası)

Standart ASCII karakter seti yalnızca 7 bittir ve karakterler ve başkatsayısı 0 olarak ayarlanmış 8 bitlik baytlar olarak gösterilir. Genişletilmiş ASCII karakter seti, başkatsayısı 1 olarak ayarlanmış 127 tane daha 8 bitlik karakter içerir. Genişletilmiş ASCII karakter seti, 128 (1000 0000) ile 255 (1111 1111) arasındaki ikili değerleri içerir. Genişletilmiş ASCII karakter setinde: Euro işareti (€), Sol tek tırnak işareti ('), Bölme işareti (÷)... gibi işaretler eklenmiştir. Tek bir genişletilmiş ASCII karakter seti yoktur. Standart ASCII karakterlerinin aksine, genişletilmiş ASCII karakter setinin birden fazla sürümü vardır. Bu setler işletim sistemine veya satıcıya bağlı olarak farklılık gösterebilir.(Resim: 1-255 tüm ASCII karakterlerinin onluk taban karşılıkları)
Günlük hayatımızda 0'dan 9’a kadar toplamda 10 rakamdan oluşan onluk rakam sistemini kullanırız. Ancak bilgisayarda ve makine dilinde bu rakam sistemi yerine (binary) ikili sayı sistemi kullanılır. Çünkü bilgisayarlar ve makineler kelimeleri veya sayıları insan zihninin anladığı gibi anlayamazlar. Açık ve kapalı devre mantığı gereği 0 ve 1 sayılarından oluşan bir devre çeşidini anlamak, bilgisayar ve makine dilinde daha kolaydır. Bu sayede bilgisayarlar kısa sürede daha verimli iş yapma imkanını elde ederek işlem maliyetlerini düşürürler. İşlemci hızlarının artmasıyla bu dilin, 0 ve 1 sayılarından oluşan sistemleri okuması daha da kolaylaşır. İkili sayı sistemi, bildiğimiz onluk taban sayılarını, yalnızca 1 ve 0 rakamlarını kullanarak yazma şeklidir. İngilizcede "binary numbers" olarak isimlendirilmiştir ve yaygın olarak bu isimle bilinir. Bilgisayar yazılım dilinde "binary kod" olarak isimlendirilir. (Resim: Herhangi bir kelimenin ASCII  kodlaması ve binary karşılığı)
Herhangi bir kelimenin veya bir karakterin binary kod sistemindeki karşılıkları bulunurken öncelikle ASCII kodlarının bulunduğu tablodaki onluk sayı karşılıkları bulunur. Daha sonra bu kodlara karşılık gelen ikilik sayı tabanı karşılığı hesaplanır. Buna benzer şekilde bilgisayar yazılımına girilen her kelimenin ikilik sistemdeki karşılığı yazılır ve bilgisayar tarafından bu karşılık milisaniyeler içerisinde okunarak girilen metin hızlıca görünmüş olur. Yani biz bilgisayara herhangi bir kelime yazdığımızda bilgisayar bunu hemen binary kod sistemine çevirip o şekilde algılar ve girilen metnin hızlıca ekranda görünmesini sağlar. Örneğin aşağıdaki tabloda "K" harfinin binary kod sistemindeki karşılığı hesaplanmıştır. (Resim: "K" harfinin ASCII  kodlaması ve 2'lik tabanda yazılması)

Günlük hayatımızda kullandığımız onluk sayı sistemindeki 0’dan 9’a kadar olan rakamlar yan yana getirilerek yeni sayılar elde edilir ve bu sayıların basamak değerleri rakamın bulunduğu basamak değerine göre değişiklik gösterir. Bu sayıların okunmasında basamak çözümlemeden yararlanılır. Örneğin ab iki basamaklı sayısı, ab=10a+1b şeklinde iken abc üç basamaklı sayısı da abc=100a+10b+1c şeklinde yazılır. Benzer şekilde abcd dört basamaklı sayısı abcd=1000a+100b+10c+1d şeklinde çözümlenir. Onluk sistemdeki sayılarda her basamak bir öncekinden on kat daha fazla değerdedir.(1, 10, 100, 1000 gibi). Onluk sayı sisteminde çözümleme yapılırken 10'un kuvvetleri kullanılır. Onluk sayı sisteminde olduğu gibi ikili sayı sisteminde de her bir basamak, kendinden önceki basamağın 2 katı değerindedir. İkili sayı sisteminde basamaklar, 2'nin kuvvetine göre düzenlenir. İkili sayı sisteminde her bir basamak; 1 bit, her 8 bit de 1 byte olarak isimlendirilir. 
Örneğin ikili sayı sisteminde 11010110 sayısı verildiğinde bu sayının onluk sayı sistemindeki değeri:

0x2o+1x21+1x22+0x23+1x24+0x25+1x26+1x27 = 0+2+4+0+16+0+64+128 =214 olur.

Onluk tabanda verilen herhangi bir sayı 2 lik tabanda yazılırken sayı sürekli olarak 2'ye bölünür. Kalanlar not edilir. 2'ye bölünmez hale gelinceye kadar bölme işlemine devam edilir. En son bölümden başlanarak tüm kalanlar sağdan sola doğru yazılır. Bu şekilde devam edildiğinde onluk sistemde verilen sayının 2'lik sistemdeki karşılığı bulunmuş olur. Buna benzer biçimde bir sayı hangi tabanda yazılmak isteniyorsa sürekli o tabana bölünerek aynı işlem adımları tekrar edilir. 

Farklı bir tabanda verilen sayı başka bir tabana çevrilirken önce onluk tabana dönüştürülür daha sonra istenen tabana sayı dönüştürülerek yazılır. Onluk tabana dönüştürülürken sayı, tabanın kuvvetlerine göre çözümlenerek toplama işlemi ile onluk sistemdeki karşılığı bulunur. Onluk sistemdeki karşılığı bulunduktan sonra sürekli bölme işlemi yapılarak aynı işlem adımları tekrarlanır. 

10 dan büyük bir sayı tabanı kullanılmak istenildiğinde; onluk sistemde kullanılan rakamlar, 10 adet {0,1,2,3,4,5,6,7,8,9} olduğundan, diğer kalanları ifade etmek için harf ve semboller kullanılır. Örneğin herhangi bir onluk sistemdeki sayı, 16'lık tabanda yazılmak istenirse; verilen sayı sürekli olarak 16'ya bölünür. Kalanlar not edilir. Kalanlar, 16'ya bölme işlemi yapıldığından bazen 10'dan büyük çıkabilir. Bu durumda iki basamaklı kalanları göstermek için harfler kullanılır. Kalan 10 için: A; Kalan 11 için: B; Kalan 12 için: C; Kalan 13 için: D; Kalan 14 için: E; Kalan 15 için: F kullanılır. Sayı bölme işleminde 16'ya bölünmez hale gelinceye kadar bölme işlemine devam edilir. En son bölümden başlanarak tüm kalanlar sağdan sola doğru yazılır. Bu şekilde devam edildiğinde onluk sistemde verilen sayının 16'lık sistemdeki karşılığı bulunmuş olur.

Taban aritmetiğinde toplama, çıkarma, çarpma ve bölme işlemleri yapılırken istenirse herhangi bir tabanda verilen sayılar 10'luk dönüştürülür daha sonra işlem yapılarak en sonunda istenen tabanda yazılır. Veya yazılması istenen taban sınıfına göre mevcut rakamlar kullanılarak işlemler yapılır. Yani 4'lük tabanda bir toplama, çıkarma, çarpma işlemi yapılıyorsa; kullanılan rakamlar sadece {0,1,2,3} olur. Yani 6'lık tabanda bir işlem yapılıyorsa, kullanılan rakamlar sadece {0,1,2,3,4,5} olur. İşlemlerde sonuçta elde edilen hiçbir rakam, kalan sınıflarındaki rakam kümesini geçemez ve elde edilen tüm sonuçlar, bölümden elde edilen kalan sınıflarına göre yazılır.

0 yorum:

Fayda vermeyen ilimden Allah'a sığınırım. İlim; amel etmek ve başkalarıyla paylaşmak içindir. Niyetimiz samimiyetle insanlara yararlı olmaktır, akıbetimiz bu vesileyle güzel olsun. Dua eder, dualarınızı beklerim...

"Allah'ım; bana fayda sağlayacak ilimleri öğret ve ilmimi ziyadeleştir."

“Allahım! Sana teslim oldum, sana inandım, sana güvendim. Yüzümü, gönlümü sana çevirdim. İşlediğim tüm günahlarımı affeyle! Ey kalbleri çeviren Allahım! Kalbimi dînin üzere sâbit kıl. Beni Müslüman olarak vefât ettir ve beni sâlihler arasına kat!”

“Rabbim! Bizi doğru yola ilettikten sonra kalplerimizi eğriltme! Bize tarafından bir rahmet bağışla.Öne geçiren de sen, geride bırakan da sensin. Muhakkak ki lütfu en bol olan Sen’sin. Senden başka ilâh yoktur."

Lâ ilâhe illallah Muḥammedürrasulüllâh


KADİR PANCAR

Aşağıdaki Yazılar İlginizi Çekebilir!!!