2.1 SAYI SİSTEMLERININ İNCELENMESİ

2.1.1 Tanım
Onluk sayı düzeni, insanların günlük hayatta kullanması için yatkın olmasına rağmen, günümüz bilgisayar teknolojisi için uygun değildir. Bu nedenle günümüz bilgisayar teknolojisinde değişik sayı düzenleri kullanılmaktadır. Bunlar:

   •  Decimal (Onlu) Sayı Sistemi

   •  Binary (İkili) Sayı Sistemi

   •  Octal (Sekizli) Sayı Sistemi

   •  Hexadecimal (Onaltılı) Sayı Sistemi' dir.

Sayı sistemlerini incelerken göz önünde bulundurmamız gereken ilk kavram; sayı sistemlerinde kullanılan rakam, işaret, karakter veya harfleri açıklamak ve bunların temsil ettikleri anlamları belirlemektir.

Sayı sistemlerinde kullanılan rakamın / harfin / karakterin, sayı içerisinde bulunduğu yere (basamağa) bağlı olarak temsil ettiği anlamı değişir. Anlam değişikliğini belirleyen unsur, bulunan basamağın sayı sistemine bağlı olarak taşıdığı kök / taban değeridir. Bu durumda sayı sistemine bağlı olarak değişen ikinci kavram; sayı sistemlerinde kullanılan taban değeridir.

Bir sayı sisteminde; kullanılan rakam/karakterleri ‘d’ ve sayı sistemini ‘R’ ile ifade edersek;

S = dnRn + dn-1Rn-1 +................+d2R2+d1R1 +d0R0      eşitliği elde edilir.

Her rakam, bulunduğu basamağın köke bağlı basamak değeri ile çarpılır ve temsil ettiği sayı  bulunur. Bütün rakamların temsil ettiği sayılar toplanarak sonuç elde edilir.

Not: Bir sayı sisteminde kullanılan rakamlar her zaman taban değerinden küçük olmak zorundadır.

Ondalıklı sayılar için;

S = dnRn + dn-1Rn-1 +................+d2R2+d1R1 +d0R0 , d1R-1 +d2R-2 +d3R-3+ ...    eşitliği kullanılır.

 

2.1.2 Decimal (Onlu) Sayı Sistemi
Decimal (onlu) Sayı sistemi günlük hayatta kullandığımız 0 1 2 3 4 5 6 7 8 9 rakamlarından oluşur. Decimal (onlu) Sayı sisteminde her sayı bulunduğu basamağa göre değer alır. Sistemin tabanı 10’ dur.

Örnek 2.1 042.203.005 Sayısını analiz edelim;

5x100 = 5
0x101 = 0
0x102 = 0
3x103 = 3.000
0x104 = 0
2x105 = 200.000
2x106 = 2.000.000
4x107 = 40.000.000
0x108 = 0 

Sonuç: 5x100 + 0x101 + 0x102 + 3x103 + 0x104 + 2x105 + 2x106 + 4x107 + 0x108 = 042.203.005 sayısını elde ederiz.

Örnek 2.2 2784 sayısını analiz edelim.

2784=2x103+7x102+8x101+4x100

2784=2x1000+7x100+8x10+4x1

2784=200+700+80+4

2784=2784 elde ederiz.

Örnek 2.3 568,25 Sayısını analiz edelim;

568,25=5x102+6x101+8x100+2x10-1+5x10-2

568,25=500+60+8+,2+0,05

568,25=568,25 elde ederiz.

 

2.1.3 Binary (İkili) Sayı Sistemi
Binary (İkili) Sayı sisteminin tabanı 2’ dir. Ve bu sistemde sadece “0” ve “1” rakamları kullanılmaktadır. Binary (ikili) Sayı sisteminde bulunan her ‘0’ veya ‘1’ rakamları BIT (Binary Digit) adı ile tanımlanır. Decimal (onlu) sayıları, sadece iki rakamdan oluşan Binary (ikili) sayılarla tanımlayabilmemiz, sayısal sistemlerin iki voltaj seviyesini kullanarak farklı büyüklüklerin tanımlanmasının anlaşılmasını sağlamaktadır.

İkili sayı sistemini kullanmamızın nedenleri aşağıda maddeler halinde sıralanmıştır.

a) Boole cebrine dayanan lojik verilerin temsili ve lojik işlemlerin gerçekleştirilmesi için en uygun olan sayı sistemidir.

b) Aritmetik işlemlerin basit ve hızlı bir şekilde gerçekleştirilmesini sağlar.

c) Çoğu fiziki olaylar ikili sistem için çok müsaittir. Mesela gerilim var/yok, ışık var/yok, kontak açık/kapalı, magnetlenme var/yok vs.

d) Bilgisayarlarda veri ile ilgili bellekteki adresi belirtmek için kullanılır.

e) Komut kodu olarak kullanılır.

f) Alfabetik ve sayısal olmayan karakterleri temsil etmek için kullanılır.

g) Bilgisayarlarda dahili ve harici olarak bulunan devrelerin durumlarını belirlemek için bir sayı grubu olarak kullanılır.

İkili sayı sisteminin bazı dezavantajları da şöyledir:

        a) İnsanlar ikili sayı sistemini kullanmaya pek alışık değillerdir.

        b) Onlu sayı sistemine göre çok uzun rakamlar yazmak gerekir.

Örnek 2.4 Onlu tabanda verilen 25 sayısının ikili tabandaki karşılığını bulalım. (2510 = X2);

          25 = 2 4+2 3+2 2+ 2 1+ 2 0
          25 = (11001)2
Sonuç X = (11001)2 elde edilir.

Örnek 2.5 Onlu tabanda verilen 23 sayısının ikili tabandaki karşılığını bulalım. (2310 = X2);

           23 = 2 4+ 2 3+2 2+ 2 1+ 2 0
           23 = (10111)2
Sonuç X2 = (10111)2 elde edilir.
 

Örnek 2.6 Onlu tabanda verilen 8,875 sayısının ikili tabandaki karşılığını bulalım. (8,87510 = X2);

 

2.1.4 Oktal (Sekizli) Sayı Sistemi
Sayısal Sistemler her ne kadar ikili sayı sistemini kullansalar da bir tasarımcı için binary (ikili) sayılarla işlem yapmak zahmetli bir işlem olduğundan farklı sayı sistemlerinin kullanımı tasarımcılar arasında yaygınlaşmıştır. Kullanılan bu sayı sistemlerinden Sekizli (oktal) Sayı sisteminin tabanı sekiz olup 0, 1, 2, 3, 4, 5, 6, 7 rakamları bu sayı sisteminde kullanılır.

İşlemci yalnız ikili sistemi anladığı, kullanıcı ise 10' lu sisteme alıştığı için 60' lı yıllara kadar bilgisayarla kullanıcı arasında iletişim zorluğu vardı. Bu zorluklar özellikle bilgisayara adres bilgisi aktarmak, bilgisayardan adres bilgisi almak, registerlerin durumlarını izleyerek gereken ayarlamaları yapmak, belleğin içeriğini kontrol etmek ve gereken değişiklikleri yapmak, işlemciye hemen kullanılacak veriyi aktarmak vs. gibi problemlerin çözümü sırasında yoğun olarak karşıya çıkmaktaydı. Bu problemi hafifletmek amacı ile 2’ li sistemden daha anlaşılır, bilgisayar için ise ikili sistem kadar anlaşılabilen bir aralık sayı sisteminin olması gerekirdi. Böyle bir sistem olarak 8’ li sayı sistemi seçilmişti. Bu tercih sebebi ise 8 = 23 olduğu için, 8' li sayının her bir rakamının yerine mekanik olarak onun 3 rakamlı ikili karşılığını koymakla 8’ li sayının 2’ li karşılığını almasıdır.

Örnek 2.7 (34507,0216)8 = (?)2

(34507,0216)8 = 011    100    101    000    111 , 000    010    001    110 sonucu elde edilir.
                             3        4        5        0        7   ,   0        2        1        6

Örnek 2.8 Sekizlik tabanda verilen 736,4 sayısının onlu tabanda karşılığını bulalım.

(736,4)8 = (7x82 + 3x81 + 6x80 + 4x8-1) = (478,5)10 sayısı elde edilir.

2.1.5 Hexadecimal (Onaltılı) Sayı Sistemi
1960‘ larda Latin alfabesinin ve noktalama, kontrol, matematik vs. işaretlerin genel amaçlı bilgisayarların alfabesine girmesiyle; bilgi ölçme ve temsil birimi olarak byte (8 basamaklı ikili kod) kabul edilmiştir. Bundan sonra 8 / 3 = 2,66 tamsayı olmadığı için 8' li sayıların bellekte yerleştirilmesi ve incelenmesi zorlaşmış, buna karşılık olarak  iki rakamı tam bir byte' da yerleşen 16’ lı sistem alternatifsiz bir aralık sistem olarak kullanılmaya başlamıştır. Bundan başka, 10’ lu (BCD) sayıların da her bir rakamının temsil edilebilmesi için 4 bit gerekir. Böylece 16’ lı ve 10’ lu sayıların bellekte yerleştirilmesi yöntemi ve araçları, bunlar üzerinde yapılan birçok işlemler ve bunları gerçekleştiren program ve donanım araçları, büyük bir ölçüde her iki sayı sistemi için de ortak olur. 16 = 24 olduğu için 16’ lı ve ikili sistemler birbirine direkt olarak çevrilebilir.

Hexadecimal (Onaltılı) Sayı sisteminin tabanı 16 olup, 0 - 9' a kadar rakamlar ve A - F' ye kadar harfler bu sayı sisteminde tanımlıdır. Bu sayı sisteminde rakamlar bu sembollerin yan yana yazılmasından elde edilir. Hanelerin basamak ağırlıkları sağdan sola doğru 16' nın artan kuvvetleri ile belirtilir.

16 = 24 olduğu için 16’ lı sayının her bir rakamının yerine onun 4 rakamlı 2’ li karşılığını koymakla 16’ lı sayının 2’ li karşılığını bulabiliriz.

Örnek 2.9   (A10C,B72F)16 = (?)2
 

                         1010    0001    0000    1100  ,  1011    0111    0010    1111
A10C,B72F =     A         1           0         C     ,     B         7          2          F
 

 

Örnek 2.10 Onaltılık F3 sayısının onlu tabanda karşılığını bulalım.

(F3)16 = [Fx(16)1+3x(160)] = (243)10 sayısı elde edilir.

 

Aşağıdaki tablo 0–15 arası decimal (onlu) sayıların hexadecimal karşılıklarını vermektedir.

Tablo 2.1 0 - 15 Arasındaki Sayıların Onlu, İkili, Sekizli ve Onaltılı Tabanda Karşılığı

10' lu
2' li
8' li
16' lı
0
0
0
0
1
1
1
1
2
10
2
2
3
11
3
3
4
100
4
4
5
101
5
5
6
110
6
6
7
111
7
7
8
1000
10
8
9
1001
11
9
10
1010
12
A
11
1011
13
B
12
1100
14
C
13
1101
15
D
14
1110
16
E
15
1111
17
F