30sayma sistemleri.fw min

Python Ders 30 | Sayma Sistemleri

Sayma işleminin hangi ölçütlere göre yapılacağını belirleyen kurallar bütününe sayma sistemi adı verilir.

Dünyada yaygın olarak kullanılan dört farklı sayma sistemi vardır. Bunlar, onlu, sekizli, on altılı ve ikili sayma sistemleridir.

Bu dördü arasında en yaygın kullanılan sayma sistemi ise, tabii ki, onlu sistemdir.

Onlu Sayma Sistemi

Biz insanlar genellikle hesap işlemleri için onlu sayma sistemini kullanırız. Hepinizin bildiği gibi bu sistem; 0, 1, 2, 3, 4, 5, 6, 7, 8 ve 9 olmak üzere toplam on rakamdan oluşur.

Onlu sayma sisteminde bir sayıyı oluşturan rakamlar 10’un kuvvetleri olarak hesaplanır. Örneğin 1980 sayısını ele alalım. Bu sayıyı 10’un kuvvetlerini kullanarak şu şekilde hesaplayabiliriz:

>>> (0 * (10 ** 0)) + (8 * (10 ** 1)) + (9 * (10 ** 2)) + (1 * (10 ** 3))

1980

Gördüğünüz gibi, sayının en sağındaki basamak 10’un 0. kuvveti olacak şekilde, sola doğru kuvveti artırarak ilerliyoruz.

Gelelim öteki sayma sistemlerine…

Sekizli Sayma Sistemi

Onlu sayma sisteminin aksine sekizli sayma sisteminde toplam sekiz rakam bulunur. Bu rakamlar şunlardır:

0, 1, 2, 3, 4, 5, 6, 7

Gördüğünüz gibi, onlu sistemde toplam on farklı simge varken, sekizli sistemde toplam sekiz farklı simge var.

Onlu sistemde toplam on farklı simge bulunur dedik:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9

9’dan büyük bir sayıyı göstermek gerektiğinde simge listesinin en başına dönülür ve basamak sayısı bir artırılarak, semboller birleştirilir:

10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, …, 99, 100, …, 999, 1000

İşte bu kural öteki sayma sistemleri için de geçerlidir. Mesela sekizli sayma sistemini ele alalım.

Bu sistemde 7’den büyük bir sayıyı göstermek gerektiğinde, tıpkı onlu sistemde olduğu gibi, simge listesinin en başına dönüyoruz ve basamak sayısını bir artırarak sembolleri birleştiriyoruz:

10, 11, 12, 13, 14, 15, 16, 17, 20, …, 77, 100

Onlu sayma sistemi ile sekizli sayma sistemi arasındaki farkı daha belirgin bir şekilde görebilmek için şu kodları yazalım:

sayı_sistemleri = ["onlu", "sekizli"]

print(("{:^5} "*len(sayı_sistemleri)).format(*sayı_sistemleri))

for i in range(17):
    print("{0:^5} {0:^5o}".format(i))

Bu kodlarda öğrenmediğimiz ve anlayamayacağımız hiçbir şey yok. Bu kodları oluşturan bütün parçaları önceki derslerimizde ayrıntılı olarak incelemiştik.

Bu kodlardan şöyle bir çıktı alacağız:

onlu  sekizli
  0     0
  1     1
  2     2
  3     3
  4     4
  5     5
  6     6
  7     7
  8    10
  9    11
 10    12
 11    13
 12    14
 13    15
 14    16
 15    17
 16    20

Sekizli sayma sisteminde bir sayıyı oluşturan rakamlar 8’in kuvvetleri olarak hesaplanır.

Örneğin sekizli sayma sistemindeki 3674 sayısını ele alalım. Bu sayıyı 8’in kuvvetlerini kullanarak şu şekilde hesaplayabiliriz:

>>> (4 * (8 ** 0)) + (7 * (8 ** 1)) + (6 * (8 ** 2)) + (3 * (8 ** 3))

1980

Bu hesaplama şeklini onlu sayma sisteminden hatırlıyor olmalısınız.

Gördüğünüz gibi, sekizli sistemdeki bir sayının her bir basamağını 8’in kuvvetleri olarak hesapladığımızda, bu sayının onlu sistemdeki karşılığını elde ediyoruz.

On Altılı Sayma Sistemi

On altılı sayma sisteminde ise, tahmin edebileceğiniz gibi, on altı farklı rakam bulunur:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f

Şimdiye kadar öğrenmiş olduğumuz sayma sistemleri arasındaki farkı daha net görmek için biraz önce yazdığımız kodlara on altılı sayma sistemini de ekleyelim:

sayı_sistemleri = ["onlu", "sekizli", "on altılı"]

print(("{:^8} "*len(sayı_sistemleri)).format(*sayı_sistemleri))

for i in range(17):
    print("{0:^8} {0:^8o} {0:^8x}".format(i))

Buradan şöyle bir çıktı alacağız:

onlu   sekizli  on altılı
 0        0        0
 1        1        1
 2        2        2
 3        3        3
 4        4        4
 5        5        5
 6        6        6
 7        7        7
 8        10       8
 9        11       9
 10       12       a
 11       13       b
 12       14       c
 13       15       d
 14       16       e
 15       17       f
 16       20       10

On altılı sistemde 9 sayısından sonra gelen harfleri yadırgamış olabilirsiniz. Bu durumu şöyle düşünün: Sayı dediğimiz şeyler insan icadı birtakım simgelerden ibarettir.

10’dan sonraki sayıları gösterebilmek için elimizde başka simge yok. On altılık sistemi tasarlayanlar, bir tercih sonucu olarak, eksik sembolleri alfabe harfleriyle tamamlamayı tercih etmişler.

Örneğin ‘7bc’ sayısı ile şöyle bir işlem tabii ki mümkün değil:

>>> ((c * 16 ** 0)) + ((b * 16 ** 1)) + ((7 * 16 ** 2))

Elbette c ve b sayılarını herhangi bir aritmetik işlemde kullanamayız. Bunun yerine, bu harflerin onlu sistemdeki karşılıklarını kullanacağız:

a –> 10

b –> 11

c –> 12

d –> 13

e –> 14

f –> 15

Buna göre:

>>> ((12 * (16 ** 0)) + ((11 * (16 ** 1)) + ((7 * (16 ** 2))

1980

Demek ki on altılı sistemdeki ‘7bc’ sayısının onlu sistemdeki karşılığı 1980’miş.

İkili Sayma Sistemi

Bildiğiniz gibi, bilgisayarların temelinde iki tane sayı vardır: 0 ve 1. Bilgisayarlar bütün işlemleri sadece bu iki sayı ile yerine getirir.

İşte bu sistemin adı ikili (binary) sayı sistemidir. Nasıl onlu sistemde 10 simge varsa, bu sayı sisteminde de sayıları gösteren toplam iki farklı sembol vardır: 0 ve 1.

İkili sayı sisteminde olası bütün sayılar işte bu iki simge ile gösterilir.

Gelin isterseniz durumu daha net bir şekilde görebilmek için yukarıda verdiğimiz sayı sistemi tablosuna ikili sayıları da ekleyelim:

sayı_sistemleri = ["onlu", "sekizli", "on altılı", "ikili"]

print(("{:^9} "*len(sayı_sistemleri)).format(*sayı_sistemleri))

for i in range(17):
    print("{0:^9} {0:^9o} {0:^9x} {0:^9b}".format(i))

Bu kodlar şu çıktıyı verecektir:

onlu     sekizli  on altılı   ikili
 0         0         0         0
 1         1         1         1
 2         2         2        10
 3         3         3        11
 4         4         4        100
 5         5         5        101
 6         6         6        110
 7         7         7        111
 8         10        8        1000
 9         11        9        1001
 10        12        a        1010
 11        13        b        1011
 12        14        c        1100
 13        15        d        1101
 14        16        e        1110
 15        17        f        1111
 16        20       10        10000

İkili sayı sisteminde 0 ve 1 diye saymaya başlayıp üçüncü sayıyı söylememiz gerektiğinde, elimizde 0 ve 1’den başka simge olmadığı için bir basamak artırıp simge listesinin başına dönüyoruz.

Böylece onluk düzendeki 2 sayısını ikili düzende gösterebilmek için 0 ve 1’den sonra 10 simgesini kullanıyoruz.

Bu söylediklerimizden sonra İnternet üzerinde sıkça karşılaştığınız şu sözün anlamını herhalde artık daha iyi anlıyor olmalısınız:

İnsanlar 10’a ayrılır: İkili sistemi bilenler ve bilmeyenler!

Bu arada, elbette ikili düzendeki 10 sayısı ‘on’ şeklinde telaffuz edilmiyor. Bu sayıyı “bir-sıfır” diye seslendiriyoruz…

İkili sayma sisteminde bir sayıyı oluşturan rakamlar 2’nin kuvvetleri olarak hesaplanır. Örneğin ikili sayma sistemindeki 1100 sayısını ele alalım.

Bu sayıyı 2’nin kuvvetlerini kullanarak şu şekilde hesaplayabiliriz:

>>> (0 * (2 ** 0)) + (0 * (2 ** 1)) + (1 * (2 ** 2)) + (1 * (2 ** 3))

12

Demek ki ‘1100’ sayısı onlu sistemde 12 sayısına karşılık geliyormuş.

Bu eğitim seti Kaynak tarafından oluşturulmuştur.

İletişim: admin@herseymi.com
Yazı oluşturuldu 110

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Benzer yazılar

Aramak istediğinizi üstte yazmaya başlayın ve aramak için enter tuşuna basın. İptal için ESC tuşuna basın.

Üste dön