1.2. Dijital Elektronik ve Binary Sistem

Binary (ikili) sayı sistemi, dijital elektronik ve bilgisayar dünyasının temelini oluşturan sayı sistemidir. Bu sistemde yalnızca 0 ve 1 değerleri kullanılır ve tüm dijital cihazların bilgi işleme süreçlerinde temel rol oynar. Dijital devrelerde kullanılan transistörler sadece iki farklı durumu (açık-kapalı veya yüksek-düşük voltaj) temsil edebildiğinden, binary sistem donanım düzeyinde en verimli çözüm olarak öne çıkar. Bilgisayarların işlemcileri, bellekleri ve veri yolları bu sistem üzerine inşa edilmiştir.

Binary sistemde her bir basamak bit olarak adlandırılır ve tüm sayı sistemlerinde olduğu gibi, her bitin bulunduğu konuma bağlı olarak bir ağırlığı vardır. Bu ağırlık (1) numaralı notasyonda tabanın kuvvetleriyle gösterilmiştir. Bitlerin ağırlıklarından hareketle sayının en sağındaki bit En Az Önemli Bit (Least Significant Bit - LSB), en solundaki bit En Önemli Bit (Most Significant Bit - MSB) olarak adlandırılır. (Bu isimlendirme diğer sayı sistemleri için LSD - Least Significant Digit ve MSD - Most Significant Digit olarak kullanılabilir.) LSB, en düşük ağırlığa sahip olup sayının değerine en az katkıyı yaparken, MSB en yüksek ağırlığa sahip olup en büyük katkıyı sağlar.

1.2.1 Binary Sistemde Negatif Sayılar

Bilgi işleme süreçlerinin etkili biçimde yerine getirilebilmesi için binary sistem içinde negatif sayıların da temsil edilebilmesi gerekir. Bunun için zamanla farklı yöntemler geliştirilmiştir.

1.2.1.1 Sign-Magnitude (İşaret-Büyüklük) Yöntemi

Sign-Magnitude yöntemi, negatif sayıları temsil etmek için kullanılan ilk yöntemlerden biridir. Bu yöntemde MSB işaret biti (sign bit) olarak ayrılır: 0 pozitif, 1 negatif anamına gelir. Geri kalan bitler sayının mutlak değerini yani büyüklüğünü gösterir. Analog bilgisayarlar ve erken dijital sistemlerde bu yöntem yaygın olarak kullanılmıştır. Ancak bu gösterimde +0 ve -0 olmak üzere iki farklı sıfır görünümü ortaya çıkmaktadır. 4 bitlik gösterim için +0: 0000, -0: 1000 olur. Çift sıfır problemi ve toplama çıkarma işlemlerinin karmaşıklığı nedeniyle sign-magnitude yöntemi modern sistemlerde terk edilmiştir.

Sign-magnitude yönteminde toplama işlemi yaparken işaret biti kontrol edilerek hareket edilir. İki sayının işaret bitleri aynıysa, değer gösteren bitler toplanır ve işaret bitiyle birleştirilir. İşaret bitleri farklı ise değer gösteren bitlere göre büyük olandan küçük olan çıkarılır ve büyük sayının işaret biti ile birleştirilir. Çıkarma işlemi yapmak için çıkarılacak sayının işaret biti ters çevirilerek toplama işlemi yapılır.

1.2.1.2 One's Complement (1'e Tümleyen) Yöntemi

1’e tümleyen yöntemi işaretli büyüklük yönteminden kaynaklanan donanım karmaşıklarını gidermek amacıyla hayata geçirilmiştir. Bu yöntemde bir sayının negatifini elde etmek için bütü bitler ters çevirilir. Bu yaklaşım işlem yapmadan önce işaret bitini kontrol ederek algoritmanın dallanmasını ortadan kaldırmış olsa da çift sıfır problemi devam etmektedir (+0: 0000 ve -0: 1111) ve toplama işlemi sonucunda elde biti (carry) oluşursa ekstra bir işlem gerektirir. 1’e tümleyen yöntemi bazı eski bilgisayar sistemlerinde kullanılmıştır, ancak pratik zorlukları nedeniyle zamanla terk edilmiştir.

1’e tümleyen yönteminde çıkarma işlemi, sign-magnitude yönteminde olduğu gibi, çıkarılacak sayıyı negatife dönüştürüp toplayarak yapılır. Toplama işlemi ise sonucunda elde biti oluşursa, oluşan elde bitinin sonuca eklenmesiyle gerçekleştirilir.

1.2.1.3 Two's Complement (2'ye Tümleyen) Yöntemi

Modern bilgisayar sistemlerinde kullanılan standart sistem olan 2’ye tümleyen yöntemi, 1’e tümleyen yöntemine benzerdir. Bu yöntemde bir sayının negatifini elde etmek için önce sayının 1’e tümleyeni alınır, ardından elde edilen sayıya 1 eklenir. 2’ye tümleyen yöntemi çift sıfır problemini ortadan kaldırır ve aritmetik işlemleri gerçekleştirirken ekstra adım gerektirmez. Bu da donanım tasarımını daha verimli hale getirir. 1960’lardan itibaren neredeyse tüm bilgisayar sistemlerinde standart hale gelmiştir.

2’ye tümleyen yönteminde çıkarma işlemi diğer gösterimlerde olduğu gibi çıkarılacak sayının negatife dönüştürülüp toplama işlemi yapılmasıyla gerçekleştirilir. Toplama işleminde taşma gerçekleşirse göz ardı edilir, böylece bir düzenlemeye gerek kalmaz.

Örnekler

Aşağıdaki işlemleri Sign-Magnitude, one's complement ve two's complement yöntemleri ile gerçekleştirelim.

$7+3$:

$7+(-5)$:

$-5+(-2)$:

$-5-3$:

$3-5$: