İçeriğe atla

İkinin tümleyeni

Bir ikili sayının ikiye tümlenmesi, kendisinden büyük ve 2'nin tam sayı üssü olan en küçük tam sayıdan çıkarılması ile gerçekleştirilir. Elde edilen sayının ikili sayı aritmetiğinde orijinal sayının eksi işaretlisi olarak davranması nedeniyle, tam sayı değerleri bilgisayarda temsil etmek için kullanılan ikinin tümleyeni gösterimi bu işlemi temel almıştır. -1 ile çarpmanın (veya toplamsal tersin bulunmasının) ikinin tümleyeni kullanılarak gerçekleştirildiği bu gösterime göre oluşturulmuş sayıların değerleri aşağıdaki formül kullanılarak hesaplanabilir.

Buna göre, n ikillik bir bölgede temsil edilebilecek en küçük sayı 2-n-1—işaret ikili 1, diğer ikiller 0—olurken, en büyük sayı 2n-1-1—işaret ikili 0, diğer ikiller 1—olacaktır. Temsil edilebilir eksi değerlerin artı değerlerden sayıca bir fazla olmasının sebebi, tüm basamakların 0 olması ile temsil edilen sıfırın artı değerler ile aynı işaret ikiline sahip olmasıdır. Bu, birin tümleyeni ve işaretli büyüklük gibi diğer gösterimlerin aksine, ikinin tümleyeninde sıfır için tek gösterim olduğu anlamına gelir.

Açıklama

n basamaklı bir N sayısının ikinin tümleyeni N≠0 için 2n-N ve N=0 için 0 olarak tanımlanır. Sayının ikillerinin 1'e tümlenmesi ile yapılan birin tümleyeni düşünüldüğünde, bir sayının ikiye tümlenmesinin aynı sayının birin tümleyenine 1 ekleyerek yapılabileceği görülür. Daha basit bir yöntem önermek gerekirse, bir sayının ikiye tümlenmesi şöyle gerçekleştirilebilir: söz konusu sayının sağ tarafında yer alan 0'ları ilk 1'e kadar değiştirilmeden bırakılıp, bu 1'den sonraki basamaklardaki 0'lar 1, 1'ler de 0 ile değiştirilir.

Örnek
İkinin Tümleyeni(011010010) → 100101110
İkinin Tümleyeni(110011011) → 001100101

Bugünkü modern bilgisayarlarda ikinin tümleyeni gösteriminin tercih edilmesinin birçok nedeni vardır.

  • Gösterimdeki en yüksek basamaklı ikil temsil edilen değerin işaretini belirler; eksi sayılar işaret ikilindeki 1 ile gösterilirken, 0 ve artı sayılar işaret ikilindeki 0 ile temsil edilirler.
  • 0'ın sadece bir gösterimi vardır. Bu da 1'in tümleyeninde ve işaretli büyüklük gösteriminde oluşan +0 ve -0 sorununu ortadan kaldırır.
  • n ikilde -2n-1'den 2n-1-1'e kadarki tam sayı değerleri ifade edilebilir. Burada bir simetrinin olmaması 0'ın tek gösteriminden kaynaklıdır.
  • Mutlak değerce en büyük eksi sayının -1 ile çarpılması taşmaya neden olacaktır. Bunun nedeni de yukarıda bahsedilen simetrinin olmamasıdır.

Eksi sayıların gösterimi

İşaretli büyüklük gösterimi

Eksi sayıların gösteriminde donanımdaki sınırlamalardan dolayı, ikil adı verilen ikili sayılardan yararlanılır. İşaretli ya da işaretsiz bütün ikili sayılar bilgisayarda ikillerle ifade edilir. Sayının işaretli olup olmadığı önceden belirlenir. Eğer ikili tabanda bir sayı işaretli olarak belirlenmişse en soldaki ikil sayının işaretini, geri kalan ikiller ise sayının mutlak değerini ifade eder. Eğer sayı işaretsiz olarak belirlenmişse en soldaki ikil sayının en anlamlı ikili olur. Burada, işaret ikili olarak artı sayılar için 0, eksi sayılar için ise 1 kullanılır. Örneğin; 0110 işaretsiz ikili sayısı olarak onlu tabanda 6, işaretli olaraksa +6 anlamına gelir. 1110 ise işaretsiz olarak onlu tabanda 14 iken işaretli olarak -6'ya eşdeğerdir.

İşaretli tümleyen gösterimi

Eksi bir sayı mutlak değerinin tümleyeni alınarak da ifade edilebilir. Bir sayının ters işaretlisinin sadece işaret ikilinin değiştirilmesiyle elde edildiği işaretli büyüklük gösteriminden farklı olarak, tümleyenle gösterimde işaret değiştirmek için sayının tümleyeni alınır. Bu, işaret ikili dışındaki ikillerin de değişebileceği anlamını taşır.

Artı sayılar her zaman için en solunda 0 ile başlayacağından, bu sayıların tümleyenleri de, yani eksi sayılar, 1 ile başlayacaktır. Diğer ikillerin yeni değerleri, ne çeşit bir tümleme yapılmasına bağlı olarak değişir. Birin tümleyeni alınması durumunda, diğer ikiller de tersi alınarak değişirken, ikinin tümleyininde sonuç işaretsiz gösterimdeki her ikilin tersinin alınıp bulunan sonuca 1 eklenmesiyle ifade edilir.

Örnek

12 sayısının sekiz ikille gösterildiği durumu inceleyelim. +12'nin gösterimi en soldaki 0 değerli işaret ikilinin ardından mutlak değerin ikili tabanda ifade edilmesiyle elde edilir. Dolayısıyla, +12 00001100 olarak temsil edilecektir. Buna göre, -12 sayısını üç şekilde ifade edebiliriz:

İşaretli Büyüklük G(-12) /* İşaret ikili değiştirilir */ → 10001100
Birin Tümleyen iG(-12) /* Tüm ikiller değiştirilir */ → 11110011
İkinin Tümleyeni G(-12) /* Birin Tümleyeni G(-12) + 1 */ → 11110100

Dikkat edecek olursanız, +12 ve -12'nin ikinin tümleyeni gösterimlerinin toplamı 00001100 + 11110100 = 100000000'dır. Bu dokuz ikillik işaretsiz bir sayıdır ve bu sayı da 28 = 256'dır. Ancak biz sonucu sekiz ikillik ikinin tümleyeni gösterimli bir sayı olarak ele alırsak 1'i sekiz ikillik hesaplamada oluşan bir taşma olarak düşünür ve atarız. Dolayısıyla, sonuç olarak 00000000 = 0'ı elde ederiz. Bu da +12 ve -12'nin toplamından bekleyeceğimiz bir sonuçtur.

Aritmetik İşlemler

Aritmetik Toplama

2'nin tümleyeni ile ifade edilen farklı işarete sahip iki sayıyı topluyorsak herhangi özel bir işleme gerek yoktur. Çünkü bu durumlarda taşma oluşmaz. 2'nin tümleyeni kullanılarak temsil edilen iki eksi sayının toplamı, işaret ikilleri de dahil olmak üzere iki sayının toplanmasıyla bulunur. İşaret ikillerinin toplanmasıyla oluşan elde atılır. Oluşan sonuç eğer eksiyse bu 2'nin tümleyeni biçimindedir.

Örnek
 00000011  (elde)     00001111  (elde)
  00000110 (+6)       11111010 (-6)
+ 00001101 (+13)      + 00001101 (+13)
----------------      ----------------
  00010011 (+19)      00000111 (+7)
00000011  (elde)      11111001 (elde)
  00000110 (+6)       11111010  (-6)
+ 11110011 (-13)      + 11110011  (-13)
----------------      -----------------
  11111001 (-7)       11101101  (-19)

Buradaki mantık onluk tabanda kullandığımız toplama mantığı ile aynıdır. En düşük değerli basamaktan başlayarak toplama işlemleri yapılır, çıkan eldeler bir sonraki basamağa aktarılarak toplama işlemi tamamlanır. Eğer iki artı sayının toplamından eksi bir sonuç, iki eksi sayının toplamından artı bir sayı çıkıyorsa burada bir taşma söz konusudur.

Genel anlamda n ikillik iki sayı ile başlamışsak ve toplamanın sonucu n+1 ikilden oluşuyorsa bir taşma var demektir. n ikillik bir sayının başına artı sayılar için 0, eksi sayılar için 1 getirerek ikil sayısını (n + 1)'e çıkarırız ve toplamı işlemini böyle gerçekleştiririz. Taşmanın oluştuğu bir durum için +6 ve +13 sayılarnı 5 ikille ifade edip toplayalım.

Örnek
  00110 (+6)
+ 01101 (+13)
--------------
  10011 (-13) (taşma)

Aritmetik çıkarma

İkili tabandaki çıkarma işleminin mantığı onlu tabandaki ile aynıdır: çıkan sayının basamağı diğer sayının aynı basamağından küçükse, çıkan sayının bir sonraki basamağından ödünç 1 alınır.... Ancak, çıkarma işlemini ikinin tümleyeni kullanarak yapmak çok daha verimli olacaktır. Yapılması gereken, çıkarılan sayının ikinin tümleyeni alınıp diğer sayıya eklenerek sonucun bulunmasından ibarettir. +7'den +6'yı çıkaralım:

Örnek
 0111 (+7)     0111 (+7)
 - 0110 (+6)   + 1010 (-6)
 ------------  -----------
 0001 (+1)    (1)0001 -> 1 eldesi atılır.

İşaret ikili dahil olmak üzere çıkarılanın ikinin tümleyeni alınarak diğer sayıya eklenir. İşaret ikillerinin toplanması sonucu oluşacak elde atılır.

Çıkarma işleminde iki sayının da işareti aynıysa bir taşma oluşmaz. Aksi takdirde, sayıların değerine göre taşma söz konusu olabilir.

Donanım ile çarpma işlemi

İki bitlik iki sayının çarpımı

Yazılım ile çarpma işlemi

Aşağıda işaretsiz çarpma işlemi için yazılım algoritması verilmiştir.

Kaynakça

  • Mano, M. Morris(2001). Digital Design ISBN 975-8431-29-3
  • Patterson and Hennessy. Computer Organization and Design: The Hardware/Software Interface, Third Edition
  • [1]

İlgili Araştırma Makaleleri

Sayı, sayma, ölçme ve etiketleme için kullanılan bir matematiksel nesnedir. En temel örnek, doğal sayılardır. Sayılar, sayı adı (numeral) ile dilde temsil edilebilir. Daha evrensel olarak, tekil sayılar rakam adı verilen sembollerle temsil edilebilir; örneğin, "5" beş sayısını temsil eden bir rakamdır. Yalnızca nispeten az sayıda sembolün ezberlenebilmesi nedeniyle, temel rakamlar genellikle bir rakam sisteminde organize edilir, bu da herhangi bir sayıyı temsil etmenin organize bir yoludur. En yaygın rakam sistemi Hint-Arap rakam sistemidir, bu sistem on temel sayısal sembol, yani rakam kullanılarak herhangi bir negatif olmayan tam sayının temsil edilmesine olanak tanır. Sayılar sayma ve ölçme dışında, etiketlerde, sıralamada ve kodlarda kullanılmak için de sıklıkla kullanılır. Yaygın kullanımda, bir rakam ile temsil ettiği sayı net bir şekilde ayrılmaz.

<span class="mw-page-title-main">Tam sayı</span> sıfırın sağında bulunan sayılar büyükken solunda bulunan sayılar küçüktür

Tam sayılar, sayılar kümesinde yer alan sıfır (0), pozitif yönde yer alan doğal sayılar ve bunların negatif değerlerinden oluşan negatif sayılardan oluşan sayı kümesidir.

<span class="mw-page-title-main">Doğal sayılar</span> sayma sayıları kümesine 0ın eklenmesiyle oluşan sayılar kümesi

Doğal sayılar, şeklinde sıralanan tam sayılardır ve kimi tanımlamalara göre 0 sayısı da bu kümeye dâhil edilebilir. Aralarında standart ISO 80000-2'nin de bulunduğu bazı tanımlar doğal sayıları 0 ile başlatır ve bu durum negatif olmayan tam sayılar için 0, 1, 2, 3, ... şeklinde bir karşılık bulurken, bazı tanımlamalar 1 ile başlamakta ve bu da pozitif tam sayılar için 1, 2, 3, ... şeklinde bir eşlenik oluşturur. Doğal sayıları sıfır olmadan ele alan metinlerde, sıfırın da dahil edildiği doğal sayılar bazen tam sayılar olarak adlandırılırken diğer bazı metinlerde bu terim, negatif tam sayılar da dahil olmak üzere tam sayılar için kullanılmaktadır. Özellikle ilkokul seviyesindeki eğitimde, doğal sayılar, negatif tam sayıları ve sıfırı dışlamak ve saymanın ayrık yapısını, gerçek sayıların bir karakteristiği olan ölçümün sürekliliğiyle karşıtlık oluşturmak amacıyla sayma sayıları olarak adlandırılabilir.

<span class="mw-page-title-main">Aritmetik</span> temel matematik dalı

Aritmetik; matematiğin sayılar arasındaki ilişkiler ile sayıların problem çözmede kullanımı ile ilgilenen dalı. Aritmetik kavramı ile genellikle sayılar teorisi, ölçme ve hesaplama kastedilir. Bununla birlikte bazı matematikçiler daha karmaşık çeşitli işlemleri de aritmetik başlığı altında değerlendirirler.

2 (iki) bir sayı, rakam ve gliftir. 1'den sonraki ve 3'ten önceki doğal sayıdır. En küçük ve hatta yegâne çift asal sayıdır. Bir dualitenin temelini oluşturduğundan, birçok kültürde dini ve manevi öneme sahiptir.

<span class="mw-page-title-main">Rakam</span>

Rakam, sayıları yazılı olarak göstermeye yarayan sembollerden her biri. Pek çok dil ve kültürde kullanılan Arap kökenli rakamlar şunlardır:

<span class="mw-page-title-main">Parite (matematik)</span> hh

Parite, matematikte herhangi bir tam sayının çift ya da tek olması durumudur. Çift sayılar, 2 ile kalansız bölünebilen sayılardır. Tek sayılar ise 2 ile kalansız bölünemeyen sayılardır. Örneğin onluk sistemde 4 ve 8 rakamlarının her ikisi de çift olduğu için "aynı pariteye sahip" kabul edilirler.

▪ Çift doğal sayılar: 0, 2, 4, 6, 8,...
▪ Tek doğal sayılar: 1, 3, 5, 7, 9,...
▪ 2n = 0 eşitliğini sağlayan bir tam sayı mevcuttur: 2 × 0 = 0.
▪ 2n + 1 = 0 eşitliğini sağlayacak bir n tam sayısı yoktur.
▪ Birden fazla basamaklı sayıların birler basamağında 0'ın olması, bu sayıların asal çarpanları arasında 2 ve 5'in olduğunu, dolayısıyla çift sayı olduklarını gösterir.
<span class="mw-page-title-main">Aritmetik mantık birimi</span>

Aritmetik mantık birimi (AMB) aritmetik ve mantık işlemlerini gerçekleştiren bir dijital devredir. AMB en basit işlemi gerçekleştiren mikro denetleyiciden, en karmaşık mikroişlemciye sahip bir bilgisayara kadar tüm işlemcilerin yapıtaşıdır. Modern bilgisayarların içinde bulunan mikroişlemcilerin ve ekran kartlarının içinde çok karışık ve güçlü AMB'ler bulunmaktadır. AMB kavramına ilk olarak 1945 yılında matematikçi John von Neumann EDVAC adlı yeni bir bilgisayar üzerine bulgularını anlatan raporunda değinmiştir.

Veri türü, bilgisayar programlamasının tür sisteminde veriyi açıklamak üzere kurulmuştur. İlkel türleri de içeren programlama dillerindeki verinin ortak türleri, tuple'ler, kayıtlar, cebirsel veri türleri, soyut veri türleri, referans türleri, sınıflar ve işlev türleridir. Bir veri türü, temsil etmeyi, yorumlamayı ve algoritmaları veya bilgisayar belleğini veya diğer yapılarını tanımlar. Tür sistemi, veri türü bilgisini, veriyi kullanan veya veriye erişen bilgisayar programlarının doğruluğunu kontrol etmek amaçlı kullanır.

<span class="mw-page-title-main">İkili sayı sistemi</span>

İkili sayılar sayıların 2 tabanında yazılmasıyla elde edilir. Dolayısıyla tüm sayılar 0 ve 1 rakamları kullanılarak ifade edilirler. Elektronik devrelerindeki kolay uygulanabilmeleri nedeniyle günümüz bilgisayarlarının neredeyse tamamında kullanılırlar.

Mantık devrelerinde taşma, devrenin sağladığı bit alanının işlem sonucunda ortaya çıkan verinin elde bulunan saklama alanına sığmaması durumunda olur.

Kayan noktalı sayılar gerçel sayıların bilgisayar ortamındaki gösterim şekillerinden biridir. Gerçek dünyada sayılar sonsuza kadar giderken, bilgisayar ortamında bilgisayar donanımının getirdiği sınırlamalardan dolayı bütün sayıların gösterilmesi mümkün değildir. Bununla birlikte gerçekte sonsuza kadar giden birtakım değerler bilgisayar ortamında ortamın kapasitesine bağlı olarak yaklaşık değerlerle temsil edilirler. Bu sınırlamaların etkisini en aza indiren, sayıların maksimum miktarda ve gerçeğe en yakın şekilde temsilini sağlayan sisteme "Kayan-Noktalı Sayılar" sistemi denir. Kayan-Noktalı sayılar sistemi, bir sayı ile 10'un herhangi bir kuvvetinin çarpımı şeklinde sıklıkla kullanılan bilimsel gösterime oldukça benzeyen bir notasyona sahiptir ve en sık kullanılan IEEE 754 standardına göre şekillendirilmiştir.

IEEE Kayan Nokta Aritmetiği Standardı kayan noktalı sayıların gösteriminde en çok kullanılan standarttır. İkilik sistemdeki sayılar bilimsel gösterim ile gösterildikten sonra işaret, üst ve anlamlı kısımdan oluşan üç parça şeklinde ifade edilebilirler. Bu gösterime sonsuz, sayı değil ve sıfırın gösterimi dahildir. IEEE 754 standardına göre sayılar tek duyarlı ve çift duyarlı şekilde gösterilebilirler.

İşaretle genişletme, bilgisayar aritmetiğinde sayıların değerlerini ve işaretlerini kaybetmeden genişletilmesine verilen isim. Daha açıklamak gerekirse, gereken bit değerinden daha kısa olan bir değerin en anlamlı bit değeri ile, gereken bit değerine ulaşıncaya kadar genişletilmesi işlemidir. Böylelikle 2'nin tümleyeni sayı sistemi içinde, artı ve eksi işaretli sayıların hem değerleri hem de işaretleri korunmuş olur.

<span class="mw-page-title-main">BCD kodu</span>

BCD kodu, bilgisayar ve elektronik sistemlerinde onluk tabandaki (decimal) sayıların ikilik tabana (binary) dönüştürülmesi için kullanılan sayısal kodlama metodudur. Bu dönüştürme işlemi yapılırken öncelikle sayının her bir basamağı tek tek ikilik tabana çevrilir ve ardından her basamağın karşılık geldiği binary değerler sırasıyla birleştirilerek sayının BCD Kodu ile gösterimi elde edilir.

<span class="mw-page-title-main">Sayısal sistem</span> sayıları ifade etmek için gösterim

Sayısal sistem, sayıları temsil eden simgeler için bir yazma sistemi yani matematiksel bir gösterim sistemidir.

<span class="mw-page-title-main">Temel aritmetik</span>

Temel aritmetik, aritmetiğin en basit kısmıdır ve toplama, çıkarma, çarpma, bölme gibi işlemlerden oluşur.

<span class="mw-page-title-main">İşaret (matematik)</span>

Matematikte işaret kavramı, sıfırdan farklı her bir reel sayının pozitif veya negatif olduğunu belirtir. Her ne kadar bazen işaretli sıfır kullanılsa bile, sıfırın kendisi işaretsizdir. Matematik ve fizikte kullanılan reel sayıların toplamaya göre tersini ifade etmek için işaret değiştirme işlemi yapılır.

İşaretli sıfır, önünde artı ve eksi işaretleri olan sıfırdır. Aritmetikte özel durumlar hariç 0 işaretsizdir. Bununla birlikte Bilişimdeki işaretli sayı temsilleri gibi bazı uygulamalarda, işaretli sıfır kullanılır. Burada pozitif sıfır ile negatif sıfır farklı sayıları ifade eder.

<span class="mw-page-title-main">İkinin kuvveti</span>

Matematikte ikinin kuvveti, n bir tam sayı iken 2n şeklinde gösterilebilen sayıdır. Bu üslü sayıda 2 taban, n ise üstür.