Dijital Tasarım · Sayı Sistemleri ve Bit Deseni Yorumu

#02 Binary konumsal ağırlıklar, hexadecimal gruplama ve 8-bit two's complement

Bir byte'ı konumsal ağırlıklarla decimal ve hexadecimal sayıya çevir; aynı bit deseninin unsigned ve signed yorumlarını ayır.

Soru

10110101 ikili sayısının bit konumları ve 128, 64, 32, 16, 8, 4, 2, 1 ağırlıklarıyla decimal 181 sonucuna dönüştürülmesi.
Binary değer, yalnız 1 olan bit konumlarının ağırlıkları toplanarak okunur.

10110101₂ bit desenini önce unsigned decimal, sonra hexadecimal sayıya dönüştürün. Ardından 11111011₂ desenini hem unsigned hem de 8-bit signed two's complement olarak yorumlayın; −5 temsilini bit tersleme ve bir ekleme yöntemiyle doğrulayın.

Yazılı çözüm ve anlatım dökümü(çözümün tamamını gösterir)

Aşağıda defterde yazılan bütün satırlar ve bunlara eşlik eden sesli anlatımın tam metni bulunur.

  1. 1. Sekiz bitin konumsal ağırlıklarını kur

    Sekiz bitlik bir desenin soldan sağa 2 üzeri 7'den 2 üzeri 0'a kadar konumsal ağırlıkları.
    Sağa doğru her ağırlık yarıya iner; en sağdaki bitin ağırlığı 1'dir.
    Binary, konumsal ve boyutsuz bir sayı sistemidir
    8-bit desen: b₇ b₆ b₅ b₄ b₃ b₂ b₁ b₀
    Ağırlıklar: 2⁷, 2⁶, 2⁵, 2⁴, 2³, 2², 2¹, 2⁰
    Sayısal değer = Σ bₖ·2ᵏ
    Yalnız değeri 1 olan bitlerin ağırlığı toplama girer
    Yaygın hata: soldaki biti 2⁰ sanmak
    En sağdaki bit 2⁰ = 1 ile başlar

    Sesli anlatım metni

    Geçen derste gerilim bite dönüşmüştü. Şimdi bir sonraki soruyu soruyoruz: bitler sayıya nasıl dönüşür? Binary, konumsal bir sayı sistemidir. Yani her bitin bir ağırlığı vardır. En sağdaki bitin ağırlığı birdir. Sonraki iki, sonra dört, sekiz, on altı diye gider. Bu yüzden sekiz bitlik bir byte, sadece yan yana duran switch'ler değildir. Ağırlıklı kararlar dizisidir. Aynı sıfır ve bir alfabesiyle counter, address, color, instruction ve memory content anlatabilmemiz buradan gelir.

  2. 2. 10110101₂ desenini decimal sayıya çevir

    10110101 ikili sayısında etkin bitlerin 128, 32, 16, 4 ve 1 ağırlıklarını toplama örneği.
    10110101₂ = 128 + 32 + 16 + 4 + 1 = 181₁₀.
    10110101₂ için bitleri ağırlıkların altına yerleştir
    1·2⁷ + 0·2⁶ + 1·2⁵ + 1·2⁴
    + 0·2³ + 1·2² + 0·2¹ + 1·2⁰
    =128+32+16+4+1\displaystyle = 128 + 32 + 16 + 4 + 1
    =18110\displaystyle = 181₁₀
    Aralık kontrolü:
    128181<256\displaystyle 128 \le 181 < 256
    Teklik kontrolü: en sağ bit 1 olduğundan sonuç tek olmalı
    181 tek sayıdır; iki kontrol de sonucu destekler

    Sesli anlatım metni

    Şimdi bir bit desenini okuyalım: bir sıfır bir bir sıfır bir sıfır bir. Önce ağırlıkları yaz: yüz yirmi sekiz, altmış dört, otuz iki, on altı, sekiz, dört, iki ve bir. Sadece değeri bir olan konumlar toplama katılır. Yani yüz yirmi sekiz, artı otuz iki, artı on altı, artı dört, artı bir. Sonuç decimal olarak yüz seksen birdir. Güzel alışkanlık şudur: binary string'i ezberlemeye çalışma. Altına ağırlıkları koy, sadece aktif ağırlıkları topla.

  3. 3. Aynı deseni hexadecimal olarak yaz

    10110101 deseninin iki dört bitlik nibble'a ayrılıp B5 hexadecimal değerine dönüştürülmesi.
    1011₂ = B₁₆ ve 0101₂ = 5₁₆; birlikte B5₁₆.
    Hexadecimal dönüşüm için bitleri sağdan dörtlü grupla
    10110101₂ → 1011₂ | 0101₂
    10112=1110=B16\displaystyle 1011₂ = 11₁₀ = B₁₆
    01012=510=516\displaystyle 0101₂ = 5₁₀ = 5₁₆
    101101012=B516\displaystyle 10110101₂ = B5₁₆
    Decimal kontrol:
    1116+5=181\displaystyle 11\cdot 16 + 5 = 181
    Yaygın hata: gruplamaya soldan başlamak

    Sesli anlatım metni

    Binary kesindir ama uzun binary dizileri insan için yorucudur. Hexadecimal burada mühendislik kısayoludur. Bir hex rakamı dört biti temsil eder; buna nibble deriz. Byte'ı iki nibble'a ayır: bir sıfır bir bir, ve sıfır bir sıfır bir. İlk grup decimal on birdir, hex'te B olur. İkinci grup beştir. Demek ki aynı byte, base sixteen içinde B beş, ya da programlama notasyonuyla sıfır x B beş diye yazılabilir. Donanımda hiçbir şey değişmedi; sadece deseni yazma biçimimiz değişti.

  4. 4. 11111011₂ desenini iki sözleşmeyle yorumla

    11111011 bit deseninin unsigned 251 ve 8-bit signed two's complement eksi 5 olarak iki farklı yorumu.
    Bitler değişmez; sonucu belirleyen unsigned veya signed veri tipi sözleşmesidir.
    Aynı bit deseni, farklı veri tipiyle farklı sayı olabilir
    11111011₂ unsigned = 128 + 64 + 32 + 16 + 8 + 2 + 1
    =25110\displaystyle = 251₁₀
    8-bit signed yorumda MSB = 1 → sayı negatiftir
    25128=251256=5\displaystyle 251 - 2⁸ = 251 - 256 = -5
    11111011₂ signed = −5₁₀
    8-bit signed aralık kontrolü:
    1285127\displaystyle -128 \le -5 \le 127

    Sesli anlatım metni

    Şimdi kritik uyarı geliyor. Bir bit pattern kendi anlamını tek başına taşımaz. Anlamı sözleşme verir; yazılım diliyle söylersek data type verir. Bir bir bir bir bir sıfır bir bir deseni, unsigned okunursa iki yüz elli bir demektir. Ama sekiz bit signed two's complement sistemde aynı desen eksi beş demektir. Aynı bitler, farklı sözleşme. Bu yüzden dijital tasarım sürekli şunu sorar: bu pattern burada neyi temsil ediyor?

  5. 5. −5'i two's complement ile yeniden üret

    8-bit artı 5 deseninin bitleri terslenip bir eklenerek eksi 5 için 11111011 deseninin elde edilmesi.
    +5'in bitlerini tersle ve 1 ekle: 00000101 → 11111010 → 11111011.
    +5'i 8 bitte yaz: 00000101₂
    Bütün bitleri tersle: 11111010₂
    Bir ekle:
    111110102+12=111110112\displaystyle 11111010₂ + 1₂ = 11111011₂
    11111011₂, 8-bit two's complement içinde −5'tir
    Toplama kontrolü: 11111011₂ + 00000101₂
    = 1 00000000₂ → 8 bitte taşıyı at → 00000000₂
    −5 + 5 = 0; temsil tutarlı
    Yaygın hata: bitleri tersleyip 1 eklemeyi unutmak

    Sesli anlatım metni

    Hızlı bir two's complement örneği yapalım. Sekiz bitte pozitif beşi yazmak için sıfır sıfır sıfır sıfır sıfır bir sıfır bir kullanırız. Eksi beş yapmak için önce bütün bitleri ters çeviririz: bir bir bir bir bir sıfır bir sıfır. Sonra bir ekleriz ve bir bir bir bir bir sıfır bir bir elde ederiz. Bu, eksi beşin sekiz bit two's complement gösterimidir. Güzelliği şudur: toplama donanımı sade kalır. Aynı adder hem pozitif hem negatif değerleri toplayabilir, çünkü kodlama aritmetiği çalıştıracak şekilde seçilmiştir.

  6. 6. Binary, hex ve signed yorumları ayır

    Binary konumsal ağırlık, hexadecimal dört bitlik paket ve signed veri tipi sözleşmesini özetleyen üç kart.
    Aynı bitler için yazım tabanı ve signed yorum birbirinden ayrı sözleşmelerdir.
    Binary: bit konumları 2'nin kuvvetleriyle ağırlıklanır
    Hex: sağdan her 4 bit tek rakama dönüşür
    Signed: veri tipi aynı bit desenine sayı anlamı verir
    101101012=18110=B516\displaystyle 10110101₂ = 181₁₀ = B5₁₆
    11111011₂ = 251 unsigned = −5 signed
    Sonraki adım: bitleri mantık kapılarında kullanmak

    Sesli anlatım metni

    İkinci zihinsel modelimiz bu. Binary her bit konumuna bir ağırlık verir. Hexadecimal her dört biti okunabilir tek rakama paketler. Signed sayılar bit pattern'in üstüne bir sözleşme ekler; aynı bitler büyük pozitif bir sayı ya da negatif bir sayı anlamına gelebilir. Sonraki derste bu bitleri logic input olarak kullanacağız ve temel kapılar için truth table kuracağız: NOT, AND, OR, NAND ve XOR.

Kaynak video: Dijital Tasarım #02 | Binary, Hex ve Signed Sayılar (3:34)