Bu sayfadaki yazılar
Sayfanın metni
Sayfa 49
F09B gene doğru cevap. Peki, bu onaltılık sistem de nereden çıktı şimdi? Hadi ikilik sistemi anladık, ya bu? Dikkat ederseniz, 4 tane bit ile 0-15 arası sayıları gösterebiliriz (0000-1111). Onaltılık sistemde de, aynı değerleri 0-F arası karakterlerle gösterebiliyoruz. Böylece aynı değerleri ikilik sistemde dört, onluk sistemde iki basamakla gösterirken, onaltılık sistemde sadece tek basamakla gösterebilmekteyiz. Bir byte'ın sahip olduğu değeri de (0-255) sadece iki basamakla (00-FF) gösterebiliyoruz. Üstelik bir bakışta o byte'ın sağ ve sol yarılarının değerlerini ayrı ayrı görebiliyoruz. Bu dörder bit'lik gruplara NİBBLE adı verilir ve oldukça sık kullanılır. Yazımız boyunca onluk, ikilik ve onaltılık sistemde sayılar verdiğimiz zaman, bunu belirtmek için aşağıdaki gibi vereceğiz:
255— -$FF
İkilik sistemdeki sayıları % ile, onaltılık sayıları $ ile belirtirken, onluk sayıları olduğu gibi bırakacağız. Geldik son konumuza. VIC'ın yazmaçları içindeki her bir bit ayrı bir anlam taşır. Onların 1 veya 0 olması, değişik grafik özelliklerini harekete geçirecektir. Demek ki, bir byte'daki tüm bit'ler arasındaki bir tek bit'i yakıp söndürebilecek birtakım işlemlere gereksinim duymaktayız. İşte bu işlemlere mantıksal işlemler adını vermekteyiz. İlk işlemimiz AND (ve) işlemi. Bunu, istediğimiz bir bit'i 0 yapmak için kullanacağız. Örneğin %01110101 sayısının sağdan üçüncü ve sekizinci bit'lerini 0 yapmak istiyoruz. Bu durumda sayımızı %11111011 ile AND'lememiz lazım. Önce AND işleminin doğruluk tablosunu verelim:
0 AND 0-0 0OANDI-0 1 AND 0-0
Gördüğünüz gibi sağ taraftaki bit 0 olduğunda, sol taraftaki bit ne olursa olsun, sonuç sıfır olmaktadır, yani sönmektedir. Sağ taraftaki bit 1 olduğunda ise, sonuç sol taraftaki bit'in aynısı olarak kalmakta, yani değişmemektedir. Dolayısıyla yukarıdaki işlemin sonucu:
AND MOl1111011 — 7000011001
Gördüğünüz gibi, ikinci byte'da 0 olan bit'ler sonuçta söndüler. Diğer bit'ler ise değişmeden kaldılar. Peki bunun tam tersini yapmak, yani belli bazı bit'leri yakmak istersek ne yapacağız? İşte o zaman OR (veya) işlemini kullanacağız. %01001101 sayısının sağdan ikinci ve yedinci bit'lerini yakmak istersek, bu sayıyı %01000010 ile OR'lamak zorundayız. İşte gene doğruluk tablosundan başlayalım:
0 OR 0-0 1OnrRO0-1İ 1OnR1-1
Gördüğünüz gibi sağ taraftaki bit 0 olduğunda, sol taraftaki bit olduğu gibi sonuca geçmekte, yani değişmemektedir. Sağ taraftaki bit 1 olduğunda ise, sonuç sol taraftaki bit'den bağımsız olarak 1 olmakta, yani yanmaktadır. Dolayısıyla yukarıdaki işlemin sonucu:
—— ıı. wı
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 48
Gelelim sayımıza. 8539'un değerini ancak aşağıdaki işlemle bulabiliriz:
8*104 34-5*104 2-4-3*1011-4-9*101 0
Bu işlem size karışık gelebilir (aslında gelmemesi lazım). Ama kabaca şöyle diyebiliriz. Bir sayının değeri, içindeki her basamağın tek başına sahip olduğu değerle, o basamağın sağ tarafında bulunan basamak sayısı kadar kendisiyle çarpılmış taban değerinin çarpımının tüm basamaklar için yapılması ve bunların toplanmasıyla bulunur. Aslında bu açıklama, aşağıdaki formülden daha karışık. Eğer bir sayı N tabanına göre yazılmışsa ve en sağdaki rakamına R0 adını verip sola doğru R1, R2... olarak isimlendirirsek, o zaman:
Değer — RO*N4 4
Şimdi gelelim ikilik sisteme. 1010 sayısını yukarıdaki formüle göre hesaplayalım:
0*24
Şimdi de olaya biraz da bilgisayar açısından bakalım. 0 ve 1 değerlerini taşıyan her bir birime BİT adı verilir. Sekiz tane bit birarada bir BYTE oluşturur. Aşağıdaki tabloda, bir byte'ı oluşturan her bit'in temsil ettiği değeri görmektesiniz:
ets ets eta E13 eta eti ga sa 16 a 4 a 1
Örneğin yukarıda incelediğimiz sayı için bit'ler 00001010 durumunu alacaktır. Bu da 8+2 = 10 olacaktır. Eğer tüm bit'ler 1 değerini alırsa, 11111111 = 128+64+32+16+8+4+2+1 = 255 olur. Demek ki, bir byte en fazla 255 değerini alabilmekte. Daha büyük sayılar için daha fazla bit, dolayısıyla da daha fazla byte gerekir. Peki onluk sistemdeki sayıyı nasıl ikilik sisteme çevireceğiz. Örneğin 133 sayısını çevirelim:
Şimdi de kalanları aşağıdan yukarı doğru okuyalım: 10000101. İşte doğru cevap. Bilmeniz gereken bir diğer sayı sistemi de sık sık dergimizde de gördüğünüz onaltılık sistemdir. Rakam olarak 0-9 arası sayılarla A-F arası harfler kullanılır. Burada:
Csla Dz13 Esila F-15
Örneğin F09B sayısını onluk sisteme çevirelim:
15*161 *1610-61595
1 Tam tersini yapıp, 61595'i onaltı- BR kalan © lık sisteme çevirelim: 23 kalan 1 18 an 61595/16 — 3849 kalan 11 (B) a yaza ye an 3849 /16-240 kalan 9 mma b 240 kalan 0 4 kalan £ 15 /16-0 kalan 15 (F) 2 kalan 1 kalan 1 Yine aşağıdan yukarı okuyalım: