C64 Türkiye sayı 1, sayfa 7

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 7

İKİLİ (BİNARY) SAYI SİSTEMİ İkili sayı sisteminde sadece iki sayı kullanılır “0” ve “1”. İşlemciler bu 0 ve 1’lerin bir araya gelmesiyle bazı işlemler yaparlar. 0 ve 1 durumu alabilen en küçük bilgi birimine BİT denir. İşte bu bitlerin 4 tanesi bir araya gelirse NİBBLE olur. Sekiz bit ise bir BAYT eder. 1024 BAYT = 1 KBAYT eder. Commodore 64’ün işlemcisi 8 bitlik olduğu için bir seferde işlem yapacağı sayı 8 bitlik olacaktır. Peki ama 8 bitlik bir sayı kaçtır? 10, 50, 300 belki de 1000. Acaba gerçekten öyle mi? Kullanacağımız sayılar hep 8 bitlik olacaktır. Bu nedenle önce sayı sistemleri arasındaki hesaplamaları öğrenmek gerekmektedir. Assembler ile bir program yazarken kullanacağınız bazı özel adreslerde BİT düzeyinde işlem yapıldığı için hesaplama yapmak gerekebilir. Bir baytlık sayı 8 bitten oluşur demiştik. Bu bitler soldan sağa doğru 7 6 5 4 3 2 1 0 nolu bit olarak dizilirler. Her bitin gerçekte karşılık geldiği sayı ise 2 BİT NUMARASI şeklindedir. Bu sayıya çarpan değeri diyebiliriz. Aşağıdaki tabloyu inceleyin.

BİT NUMARASI 7 6 5 4 3 2 1 0 ÇARPAN DEĞERİ 128 64 32 16 8 4 2 1 İKİLİ SİSTEMDEN ONLU SİSTEME GEÇİŞ: İkili sistemdeki bir sayıyı onlu sayıya çevirmek için her bitin durumu (0 veya 1) o bitin çarpan değeri ile çarpılır ve çıkan sonuçlar toplanır. Örneklere bakın. İkili sistemdeki sayıları belirtmek için sayının önüne % işaretini koyacağız.. %00000000 = 128*0 + 64*0 + ........+ 2*0 + 1*0 = 0 En küçük sayımız 0’dır. %11010011 = 128*1 + 64*1 + 32*0 + 16*1 + 8*0 + 4*0 + 2*1 + 1*1 = 211 %11111111 = 128*1 + 64*1 + .........+ 2*1 + 1*1 = 255 En büyük sayımız ise 255’tir. 255’ten büyük sayıları ise 2 bayt olarak tanımlayacağız ve hesaplayacağız. Ama önce ONALTILI (HEXADECİMAL – kısaca HEX diyebiliriz.) sayı sistemini göreceğiz.

ONALTILI (HEXADECİMAL) SAYI SİSTEMİ HEXADECİMAL sayı sisteminde 0 1 2 3 4 5 6 7 8 9 rakamları ile A B C D E F harfleri kullanılır. A=10 B=11 C=12 D=13 E=14 F=15 sayılarının yerine kullanılır. Şimdiden söylemekte fayda görüyorum. Assembler ile program yazarken her zaman onaltılı sayı sistemini kullanacağız. Hatta ikili sistemden daha çok kullanacağız. Bu nedenle iyi öğrenilmesi gerekmektedir. Onaltılı sistemde bir sayı yazarken sayının önüne $ işaretini koyacağız. Onlu sistemdeki sayılar için işaret kullanmayacağız. Program yazarken kullanacağımız onaltılı sistemdeki bir sayı için 2 veya 4 karakter gereklidir. İki karakter kullanırsak sayı bir baytlık, 4 karakter kullanırsak sayı iki baytlıktır.

KARAKTER 0 1 2 3 4 5 6 7 8 9 A B C D E F SAYI DEĞERİ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ONALTILI SİSTEMDEN ONLU SİSTEME GEÇİŞ: Eğer sayı bir baytlık ise sayının soldaki basamağındaki karakterin sayı değeri 16 ile çarpılır sağdaki karakterin sayı değeri ile toplanır. Örneklere bakın. $00 = 16*0 + 0 = 0 $1A = 16*1 + 10 = 26 $88 = 16*8 + 8 = 136 $B3 = 16*11 + 3 = 179 $FF = 16*15 + 15 = 255 Gördüğünüz gibi en küçük sayımız 0 en büyük sayımız ise 255’tir. Eğer sayı 255’ten büyükse sayımız iki baytlık demektir ve 4 adet karakter kullanılır. İki baytlık bir HEX sayıyı onlu sayıya çevirmek için iki yol vardır.

1-HEX sayı ikiye ayrılarak iki adet bir baytlık sayı haline getirilir. Sonra her biri onlu sayıya çevrilir. Daha sonra ise soldan itibaren ayrılmış olan kısmın sonucu 256 ile çarpılır ve diğer sonuca eklenir. Örneğe dikkat edin.

Klavyeyle gezinmek için ← ve → tuşları.