İkilik Sayı Sistemi ve Two’s Complement: Binary Operations Lab

İkilik sayı sistemi, two’s complement, binary aritmetik, ALU flag’leri, bitwise işlemler ve addressing konularını Binary Operations Lab ile öğrenin.

📅2026-08-19
Harun BüyükçolakHarun Büyükçolak, Full Stack Developer
İkilik Sayı Sistemi ve Two’s Complement: Binary Operations Lab

Bilgisayarın içinde sayı, karakter, adres ve komut gibi farklı bilgiler aynı fiziksel temele dayanır: bitlerden oluşan sabit genişlikli kelimeler. Bir bit dizisinin anlamı yalnızca içindeki sıfır ve birlerden değil, o diziyi hangi temsil kuralıyla yorumladığımızdan çıkar.

Örneğin sekiz bitlik 11110110 deseni unsigned binary olarak 246, two’s complement olarak -10 anlamına gelebilir. Stored pattern değişmez; değişen, onu okurken kullandığımız modeldir. Bu ayrım netleşmeden overflow, ALU flag’leri, bitwise işlemler ve address bus soruları birbirinden kopuk formüller gibi görünür.

Websoftik Academy’de geliştirdiğimiz Binary Operations Lab, sayı sistemlerinden machine word yorumuna, binary aritmetikten Boolean algebra ve architecture sorularına kadar bütün bu bağlantıları sekiz kaynak destekli öğrenme modülünde görünür hale getirir.

  1. Bit, Byte ve Machine Word Nedir?

Bit, iki farklı durumu temsil edebilen en küçük bilgi birimidir ve genellikle 0 veya 1 olarak gösterilir. Sekiz bit bir byte oluşturur. İşlemcinin tek bir birim gibi işlediği sabit genişlikli bit grubu ise machine word olarak düşünülebilir.

Word width önemlidir. 11111111 sekiz bitlik bir pattern’dır ve bu genişlikte unsigned olarak 255’i temsil eder. Aynı pattern 16 bitlik bir kelimeye dönüştürülecekse 0000000011111111 biçiminde zero extension yapılabilir. Signed değerlerde ise representation modeline göre sign extension gerekebilir.

  1. Binary, Octal, Decimal ve Hexadecimal Dönüşümü Nasıl Yapılır?

Her sayı sistemi bir tabana sahiptir. Binary taban 2, octal taban 8, decimal taban 10 ve hexadecimal taban 16 kullanır. Bir sayının değeri, basamakların tabanın kuvvetleriyle ağırlıklandırılmasıyla bulunur.

Örneğin 101101₂ için weighted sum şöyledir:

1·2⁵ + 0·2⁴ + 1·2³ + 1·2² + 0·2¹ + 1·2⁰ = 45₁₀

Binary ile octal dönüşümünde bitler sağdan üçlü, hexadecimal dönüşümünde dörtlü gruplandırılabilir. Decimal’dan başka bir tabana geçerken repeated division ve remainder yöntemi kullanılır. Binary Operations Lab, sonucu vermekle yetinmez; basamak ağırlıklarını ve bölme/kalan adımlarını ayrı ayrı gösterir.

  1. Binary Operations Lab Nasıl Çalışıyor?

Binary Operations Lab, aynı stored pattern’ı farklı representation modelleriyle yorumlamanıza ve her işlemi sabit word width altında çalıştırmanıza izin verir. Bit konumları, carry/borrow akışı, register değerleri ve ALU flag’leri aynı state içinde izlenebilir.

Uygulamayı Binary Operations Lab çalışma alanından açabilirsiniz. Learning path; number systems, integer representations, binary arithmetic, ALU flags, bitwise logic, Boolean algebra, architecture ve Polito Exam Arena modüllerinden oluşur.

Her modülde önce sonuç tahmin edilir, ardından trace oynatılır. Böylece araç bir hesap makinesinden çok, kararınızı gerçek machine rule’larıyla sınayan bir öğrenme ortamı olarak çalışır.

  1. Unsigned, Sign-Magnitude, One’s Complement ve Two’s Complement Nasıl Ayrılır?

Aynı bit pattern farklı integer representation’larında farklı değerler taşıyabilir:

  • Unsigned binary: bütün bitler büyüklüğün parçasıdır.
  • Sign-magnitude: en anlamlı bit sign, kalan bitler magnitude olarak yorumlanır.
  • One’s complement: negatif değer pozitif pattern’ın bütün bitlerinin terslenmesiyle oluşur.
  • Two’s complement: bitler terslenip 1 eklenerek negatif pattern elde edilir.

Sign-magnitude ve one’s complement modellerinde hem pozitif hem negatif zero bulunabilir. Two’s complement tek zero pattern’ı kullanır ve aritmetik devrelerini sadeleştirdiği için modern sistemlerde yaygındır.

  1. Two’s Complement ile Negatif Sayı Nasıl Bulunur?

w bitlik two’s complement aralığı -2^(w-1) ile 2^(w-1)-1 arasındadır. Sekiz bit için bu aralık -128 ile 127 olur.

Sekiz bit üzerinde -10 üretmek için önce 10 = 00001010 yazılır, bitler terslenerek 11110101 elde edilir ve 1 eklenir:

00001010   (+10)
11110101   (invert)
+      1
--------
11110110   (-10 in 8-bit two's complement)

Negatif bir pattern’ı decode ederken aynı işlem uygulanabilir veya unsigned değerden 2^w çıkarılabilir. Örneğin 11110110₂ = 246 unsigned olduğuna göre signed değer 246 - 256 = -10 olur.

  1. Binary Toplama ve Çıkarma Nasıl Çalışır?

Binary addition sağdan sola, her sütunda operand bitleri ve önceki carry birlikte değerlendirilerek yapılır. Sonuç biti toplamın 2’ye göre kalanı, carry ise 2’ye bölümünden çıkan üst bittir.

Two’s complement sisteminde A - B işlemi A + two_complement(B) biçimine dönüştürülebilir. Böylece aynı adder devresi hem toplama hem çıkarma için kullanılabilir. Ancak matematiksel sonuç word width dışına çıkarsa saklanan bitler tek başına gerçek sonucu anlatmaz; flag’leri de incelemek gerekir.

  1. Carry ile Signed Overflow Aynı Şey mi?

Hayır. Carry-out unsigned aritmetikle, overflow ise signed yorumla ilgilidir. Aynı toplama işlemi bir yorumda overflow üretirken diğerinde üretmeyebilir.

Sekiz bit signed aralıkta 100 + 50 = 150 temsil edilemez. İki pozitif operand toplanmasına rağmen result sign biti negatif görünür ve signed overflow oluşur. Buna karşılık carry-out, en üst bitten dışarı taşan unsigned biti gösterir.

Pratik kural şudur: signed addition’da aynı işaretli iki operand farklı işaretli bir sonuç üretirse overflow vardır. Binary Operations Lab, carry chain ile signed interpretation’ı ayrı panellerde göstererek iki kavramı birbirinden ayırır.

  1. Z, N, CY ve V ALU Flag’leri Ne Anlama Gelir?

ALU bir aritmetik veya logic işleminden sonra sonucu tanımlayan status flag’lerini güncelleyebilir:

  • Z — Zero: stored result sıfırsa 1 olur.
  • N — Negative: result’ın en anlamlı biti 1 ise signed yorumda negatif sinyali verir.
  • CY — Carry: addition’da word dışına carry çıktığını gösterir; subtraction semantiği mimariye bağlı açıklanmalıdır.
  • V — Overflow: signed matematiksel sonuç temsil aralığının dışına çıktıysa 1 olur.

Flag’leri ezberlemek yerine stored result ve interpretation modeliyle birlikte okumak gerekir. Aynı result bitleri unsigned ve signed kod akışlarında farklı branch kararlarına yol açabilir.

  1. Bitwise AND, OR, XOR ve NOT Ne İşe Yarar?

Bitwise operatörler iki machine word üzerindeki karşılıklı bitleri paralel olarak işler. Boolean sonucu tek bir değere indirgemek yerine her bit konumu için ayrı sonuç üretir.

  • AND belirli bitleri maskelemek veya temizlemek için kullanılabilir.
  • OR seçilen bitleri 1 yapmak için kullanılabilir.
  • XOR farklı olan bitleri belirler ve seçilen bitleri toggle edebilir.
  • NOT word içindeki bütün bitleri tersler.

Örneğin value & 0b00001111 işlemi sekiz bitlik değerin alt dört bitini koruyup üst dört bitini sıfırlar. Mask’in neden bu sonucu verdiğini görmek, hexadecimal sabitlerle çalışırken de büyük kolaylık sağlar.

  1. Left Shift ve Right Shift Her Zaman Çarpma-Bölme midir?

Bitleri bir konum sola kaydırmak overflow yoksa unsigned değeri 2 ile çarpmaya, sağa kaydırmak 2’ye bölmeye benzeyebilir. Fakat word width dışına çıkan bitler kaybolur ve signed değerlerde right shift’in boşalan bitleri nasıl doldurduğu önem kazanır.

Logical right shift üst konumlara zero getirir. Arithmetic right shift ise signed değerin işaretini korumak için sign bitini yayabilir. Bu nedenle shift’i yalnızca kısa bir matematik kuralıyla değil, bit pattern ve veri tipi bağlamında değerlendirmek gerekir.

  1. Boolean Algebra ile Truth Table Nasıl Birlikte Kullanılır?

Boolean algebra, logic ifadelerini identity, complement, absorption, distributive ve De Morgan gibi yasalarla dönüştürmeyi sağlar. Truth table ise iki ifadenin bütün input kombinasyonlarında aynı sonucu verip vermediğini doğrular.

Örneğin NOT(A AND B) ile (NOT A) OR (NOT B) De Morgan yasasına göre eşdeğerdir. Lab önce operator precedence’e göre expression tree’yi kurar, sonra simplification adımlarını ve her truth-table satırını gösterir.

Koşul bloklarında aynı mantığın nasıl kullanıldığını görmek için Boolean Algebra ve logic hataları rehberimize geçebilirsiniz.

  1. Address Bus Genişliği Bellek Kapasitesini Nasıl Belirler?

a bitlik bir address bus, teorik olarak 2^a farklı adres kombinasyonu üretebilir. Toplam kapasiteyi bulmak için her address’in kaç byte veya word seçtiğini de bilmek gerekir.

Örneğin 16-bit address bus ve byte-addressable memory varsa 2^16 = 65,536 byte adreslenebilir. Memory word-addressable ise aynı address sayısı farklı bir toplam byte kapasitesine karşılık gelebilir. Data bus genişliği tek transferde taşınan bit miktarıyla, address bus ise seçilebilir konum sayısıyla ilgilidir.

  1. Polito Exam Arena Nasıl Kullanılmalı?

Exam Arena, source-identified sorular ile aynı learning objective’i ölçen generated variant’ları birlikte kullanır. Guided modda işlem adımlarına dair ipuçları görülebilir; exam modunda ise cevap submit edilene kadar sonuç açıklanmaz.

Base conversion, representation, arithmetic, ALU flags, masks, Boolean algebra ve addressing sorularını karışık çözmek önemlidir. Çünkü sınavda problem çoğu zaman hangi formülün kullanılacağını açıkça söylemez. Python ve theory tabanlı başka soru akışları için Python Test Suite rehberimizi de inceleyebilirsiniz.

  1. Binary Operations Lab Nasıl Çalışılmalı?

  1. Önce küçük unsigned sayılarla weighted-sum ve grouping dönüşümlerini çalışın.
  2. Aynı pattern’ı unsigned, sign-magnitude, one’s ve two’s complement olarak yorumlayın.
  3. Her arithmetic işleminden önce sonucu ve flag’leri tahmin edin.
  4. Carry ile signed overflow’u ayrı gerekçelerle açıklayın.
  5. Bitwise mask ve shift işlemlerini hexadecimal gösterimle tekrar edin.
  6. Boolean ifadeyi önce yasalarla sadeleştirip sonra truth table ile doğrulayın.
  7. Son olarak guided ve exam mode sorularını süre tutarak çözün.

Binary operations öğrenmenin amacı dönüşüm tablolarını veya flag kurallarını ezberlemek değildir. Asıl hedef, aynı bit pattern’ın word width ve interpretation değiştikçe neden farklı anlamlar kazandığını açıklayabilmektir.

Tüm öğrenme araçlarını Websoftik Academy Lab sayfasında inceleyebilir veya Binary Operations Lab’i açarak bit ve machine word çalışmalarına başlayabilirsiniz. Programming Techniques konularını bir sıraya oturtmak için 8 haftalık çalışma yol haritamızı kullanabilirsiniz.

Sonraki Adim: Bunlari da Oku

Bu yaziyi tamamladiysan, bir sonraki seviyeye gecmek icin su iceriklerle devam etmeni oneririz:

Ucretsiz Seviye Analizi ile Baslayalim

Mevcut seviyenizi hizlica analiz edip size en uygun ders planini birlikte cikaralim.

WhatsApp