Bilgisayarlar

Bilgisayarlar · Çalışma Soruları
Tabanlar ve dönüşümlerİkiye tümleyen ve taşmaOndalıklı sayılarASCII, Unicode, UTF-8Mantık kapılarıGetir–çöz–çalıştırKomutlar ve assembly
Her slaytta bir soru · çoktan seçmeli, çıktı ve adım adım çalıştırma soruları. Önce kendiniz çözün, sonra cevabı açın. · Sercan KÜLCÜ

Çoktan Seçmeli · Veri Temsili

Soru 1: Büyük Harften Küçüğe

Sunumdaki programda büyük harfin koduna 32 (00100000) eklenerek küçük harf elde ediliyordu (“A” 65 → “a” 97). “G” harfinin kodu 71’dir. Program hangi kodu üretir ve ekranda ne görünür?

B: 71 + 32 = 103 = “g”. Bit düzeyinde 01000111 + 00100000 = 01100111: büyük ve küçük harf yalnızca 32’ler basamağındaki bitte ayrılır. Aynı bit dizisinin harf olduğunu kodlama (ASCII) söyler.

Çıktı Sorusu · Veri Temsili

Soru 2: İkili Sayıların Değeri

Basamak değerleriyle hesaplayın:
a) 1101₂   b) 10110₂
c) 6 bitle gösterilebilecek en büyük işaretsiz sayı kaçtır?

Cevabı göster

a) 13   b) 22   c) 63

1618041211016 + 4 + 2 = 22
  • a) 8 + 4 + 1 = 13.
  • c) n bit: 0 … 2ⁿ − 1 → 2⁶ − 1 = 63 (111111₂).

Adım Adım Çalıştırma · Taban Dönüşümü

Soru 3: 214’ü Sekizli ve Onaltılığa

11010110₂ (= 214) sayısı bitler gruplanarak sekizli ve onaltılık tabana çevriliyor. Her adımda gruplar ve basamaklar ne olur?

Önce kendiniz tahmin edin, sonra › ile ilerleyin.

8 = 2³ olduğu için bitler 3’erli, 16 = 2⁴ olduğu için 4’erli gruplanır.

Gruplama sağdan başlar; en soldaki eksik grup 0 ile tamamlanır: 11 → 011.

011 = 3, 010 = 2, 110 = 6 → 326₈.

Sekizlide basamak değerleri 64, 8, 1’dir. 214 ✓

Şimdi 4’erli gruplar: 1101 ve 0110.

1101 = 13 = D, 0110 = 6 → D6₁₆.

Kontrol ✓. Sekizli ve onaltılık, uzun ikili sayıları kısa yazmanın yoludur.

ikili ← 11010110          ; 214
; sekizli: sağdan 3'erli grupla
gruplar ← 011 | 010 | 110
sekizli ← ?
kontrol ← ?
; onaltılık: sağdan 4'erli grupla
gruplar ← 1101 | 0110
onaltılık ← ?
kontrol ← ?

Çıktı Sorusu · Taban Dönüşümü

Soru 4: Onaltılıktan İkiliye

Her onaltılık basamak 4 bittir. Aşağıdaki sayıları ikili ve onluk sisteme çevirin:
a) A7₁₆   b) 2C₁₆   c) 3F₁₆

Cevabı göster

a) 10100111₂ = 167   b) 00101100₂ = 44   c) 00111111₂ = 63

A₁₆ = 1010107₁₆ = 701111010 0111₂ = 128 + 32 + 4 + 2 + 1 = 167
  • Onluk değer: a) 10 · 16 + 7 = 167 · b) 2 · 16 + 12 = 44 · c) 3 · 16 + 15 = 63.
  • A–F harfleri 10–15 değerleridir.

Çoktan Seçmeli · Taban Dönüşümü

Soru 5: Geçersiz Sekizli Sayı

Aşağıdakilerden hangisi geçerli bir sekizli (taban 8) sayı değildir?

C: Sekizli sistemde rakamlar 0–7’dir; 8 rakamı yoktur. 1010₈ geçerlidir (= 520₁₀); yalnızca 0 ve 1 içermesi onu ikili yapmaz, alt indis tabanı belirler.

Adım Adım Çalıştırma · Negatif Sayılar

Soru 6: İkiye Tümleyen: −13

8 bit ikiye tümleyen gösterimde −13 nasıl yazılır? Algoritmayı izleyin ve sonucu +13 ile toplayarak kontrol edin.

Önce kendiniz tahmin edin, sonra › ile ilerleyin.

İki adım yeterli: bitleri ters çevir, sonra 1 ekle.

+13 = 8 + 4 + 1 → 00001101.

Tüm bitler ters çevrilir (0 ↔ 1). Buna birler tümleyeni denir.

11110010 + 1 = 11110011. En soldaki 1 sayının negatif olduğunu gösterir.

Toplam 9 bit çıkar; 9. bit (elde) 8 bitlik yazmaca sığmaz ve atılır.

+1300001101ters11110010−131111001100001101 + 11110011 = 1|00000000 → 0

Kalan 00000000 = 0 ✓: 13 + (−13) = 0. Toplama devresi negatifler için ayrıca bir şey yapmaz.

n ← 13
artı ← ikili8(n)
ters ← tüm bitleri çevir(artı)
eksi ← ters + 1
kontrol ← artı + eksi
yaz(eksi, kontrolün son 8 biti)

Çıktı Sorusu · Negatif Sayılar

Soru 7: İkiye Tümleyeni Okuma

Aşağıdaki 8 bitlik değerler ikiye tümleyen gösterimde hangi sayılardır?
a) 11111110   b) 11111000
c) 10000000   d) 01111111

Cevabı göster

a) −2   b) −8   c) −128   d) 127

  • En soldaki bit 1 → negatif. Tersini alıp 1 ekle: b) 00000111 + 1 = 00001000 = 8 → −8.
  • Kısa yol: en soldaki bitin ağırlığı −128’dir.
−128164132116181402010−128 + 64 + 32 + 16 + 8 = −8

c ve d, 8 bit aralığının uçlarıdır: −128 … 127.

Çoktan Seçmeli · Geçmiş Sınav (2023-24 Final)

Soru 8: byte Taşması

Aşağıdaki kod parçasının çıktısı hangi şıkta doğru verilmiştir?

byte x = 127;
x++;
x++;
System.out.print(x);
126127−128−127x++ taşar01111111 + 1 = 10000000

A: Java’da byte 8 bit ikiye tümleyen sayıdır (−128 … 127). 127 + 1 = 01111111 + 1 = 10000000 = −128 (taşma); bir artış daha −127 verir. 129 8 bite sığmaz.

Çıktı Sorusu · Geçmiş Sınav (2023-24 Final) varyantı

Soru 9: byte ile Toplama ve Azaltma

Aşağıdaki kodun çıktısı nedir? Her satırı taşma açısından açıklayın.

byte b = 120;
b += 10;
System.out.println(b);
byte c = -128;
c--;
System.out.println(c);
Cevabı göster

Çıktı:

-126
127
  • 120 + 10 = 130 > 127 → taşma. 130 − 256 = −126 (130 = 10000010, ikiye tümleyende −126).
  • −128 en küçük değerdir; 1 azaltınca alt uçtan üst uca sarar: 127.
  • Derleyici hata vermez; sonuç sessizce yanlış olur. Bu yüzden tür seçimi önemlidir.

Çoktan Seçmeli · Taşma

Soru 10: İşaretsiz 8 Bitte 180 + 100

8 bitlik işaretsiz bir yazmaçta 180 + 100 işlemi yapılıyor. Yazmaçta hangi değer kalır?

D: 280, 8 bite sığmaz (en fazla 255). 280 = 100011000₂; 9. bit (256) atılır, kalan 00011000 = 24. Kısaca 280 − 256 = 24 (taşma). Yazmaç 255’te “takılıp kalmaz”.

Çıktı Sorusu · Ondalıklı Sayılar

Soru 11: 0.1 + 0.2

Aşağıdaki kodun çıktısı nedir?

System.out.println(0.1 + 0.2);
System.out.println(0.1 + 0.2 == 0.3);
System.out.println(
    Math.abs(0.1 + 0.2 - 0.3) < 1e-9);
Cevabı göster

Çıktı:

0.30000000000000004
false
true
  • 0,1 ve 0,2 ikili sistemde sonlu bitle tam yazılamaz; double’da yuvarlanmış hâlleri saklanır.
  • Toplam 0,3’e çok yakın ama eşit değildir → == false.
  • Ondalıklı sonuçlar küçük bir tolerans ile karşılaştırılır → true.

Adım Adım Çalıştırma · Ondalıklı Sayılar

Soru 12: 0,3 Neden Tam Saklanamaz?

Ondalık kesir, sürekli 2 ile çarpılıp tam kısım alınarak ikiliye çevrilir. 0,3 için algoritmayı izleyin. Açılım biter mi?

Önce kendiniz tahmin edin, sonra › ile ilerleyin.

Her turda kesir 2 ile çarpılır; tam kısım (0 ya da 1) bir sonraki bittir.

0,3 × 2 = 0,6 → tam kısım 0.

0,6 × 2 = 1,2 → bit 1, kesirden 1 çıkarılır: 0,2.

0,2 × 2 = 0,4 → bit 0.

0,4 × 2 = 0,8 → bit 0.

0,8 × 2 = 1,6 → bit 1, kesir 0,6.

0,3₁₀ = 0,0100110011001…“1001” sonsuza dek tekrarlar → sonlu bitte kesilir

0,6 ilk turda da görülmüştü: açılım döngüye girdi, hiç bitmez. Sonlu bitle kesilince küçük bir yuvarlama hatası oluşur.

kesir ← 0,3
bitler ← “0,”
tekrarla:
    kesir ← kesir × 2
    bit ← tam kısım(kesir)
    bitler ← bitler + bit
    kesir ← kesir − bit
kesir daha önce görüldüyse dur

Çoktan Seçmeli · Ondalıklı Sayılar

Soru 13: float’ın Bitleri

IEEE 754 standardındaki 32 bitlik float sayısının bit alanları hangisidir?

C: float = 1 + 8 + 23 = 32 bit. A, 64 bitlik double’ın alanlarıdır (1 + 11 + 52). Değer = (−1)^işaret × 1,kesir × 2^(üs − 127); normal sayılarda baştaki 1 saklanmaz.

Çoktan Seçmeli · Metin Temsili

Soru 14: ASCII’nin Kapsamı

ASCII ile ilgili hangisi doğrudur?

B: ASCII temel Latin harfleri, rakamları (“0” = 48), noktalama ve kontrol karakterlerini (satır sonu LF = 10) içerir. Türkçe harfler, farklı alfabeler ve emoji için Unicode gerekir; değişken uzunluk UTF-8’in özelliğidir.

Çıktı Sorusu · Metin Temsili

Soru 15: Karakter Kodlarıyla Hesap

ASCII’de “0” karakterinin kodu 48’dir ve rakamlar ardışıktır. Java’da char bir sayısal koddur. Aşağıdaki kodun çıktısı nedir?

char c = '7';
System.out.println(c + 1);
System.out.println((char) (c + 1));
System.out.println(c - '0');
Cevabı göster

Çıktı:

56
8
7
  • “7” = 48 + 7 = 55. c + 1 tam sayı toplamıdır → 56.
  • 56’yı tekrar karaktere çevirince “8” görünür.
  • c - '0' = 55 − 48 = 7: rakam karakterinin sayısal değeri. Aynı bit dizisinin anlamını tür belirler.

Adım Adım Çalıştırma · Metin Temsili

Soru 16: UTF-8 Kodlama: “ş”

Unicode “ş” harfine U+015F kod noktasını atar. UTF-8 bu harfi hangi byte’larla saklar? 2 byte’lık şablon 110xxxxx 10xxxxxx’tir.

Önce kendiniz tahmin edin, sonra › ile ilerleyin.

015F₁₆ = 1·256 + 5·16 + 15 = 351.

351 = 256 + 64 + 16 + 8 + 4 + 2 + 1. 7 bite sığmaz (ASCII değil) ama 11 bite sığar → 2 byte.

11 bit, şablondaki x’lere göre 5 + 6 olarak bölünür.

Baştaki 110, “2 byte’lık karakterin ilk byte’ı” demektir.

Baştaki 10, “devam byte’ı” demektir.

11000101= C5₁₆10011111= 9F₁₆turuncu: şablon bitleri · mavi: kod noktası bitleri

“ş” = C5 9F (2 byte). ASCII harfler 1, € 3, emoji 4 byte tutar.

c ← “ş”
kod ← U+015F
ikili ← 11 bitlik(kod)
üst ← ilk 5 bit
alt ← son 6 bit
bayt1 ← 110 + üst
bayt2 ← 10 + alt
yaz(onaltılık(bayt1, bayt2))

Çıktı Sorusu · Metin Temsili

Soru 17: Karakter ve Byte Sayısı

UTF-8’de ASCII karakterleri 1, Türkçe harfler 2, “€” 3 byte tutar. Aşağıdaki dizgelerin karakter sayısı ve UTF-8 byte sayısı nedir?
a) "Kod"   b) "Çay"   c) "5€"

Cevabı göster

a) 3 karakter, 3 byte   b) 3 karakter, 4 byte   c) 2 karakter, 4 byte

ÇC387a61y793 karakter · 4 byte
  • b) Ç (U+00C7) = C3 87 → 2 + 1 + 1 = 4.
  • c) 5 → 1 byte, € → E2 82 AC = 3 byte.

Ekranda görünen karakter sayısı ile bellekteki byte sayısı her zaman aynı değildir.

Çoktan Seçmeli · Metin Temsili

Soru 18: Unicode ve UTF-8

Unicode ve UTF-8 ile ilgili hangisi doğrudur?

D: UTF-8 değişken uzunluklu bir kodlamadır; ASCII karakterleri tek byte’la yazılır, böylece eski ASCII metinler geçerli UTF-8 olur. “A” = U+0041 = 65, ASCII ile aynıdır. Unicode farklı yazı sistemlerini, matematik sembollerini ve emojiyi kapsar.

Çıktı Sorusu · Mantık Kapıları

Soru 19: Bit Bit İşlemler

A = 1100, B = 1010 olsun. Her bit konumuna kapı ayrı ayrı uygulanırsa sonuçlar ne olur?
A AND B, A OR B, A XOR B, NOT A

Cevabı göster

AND 1000 · OR 1110 · XOR 0110 · NOT A 0011

A1100B1010AND1000OR1110XOR0110NOT A0011
  • AND: iki bit 1 ise 1 · OR: en az biri 1 ise 1.
  • XOR: bitler farklıysa 1 · NOT: tersine çevirir.

Adım Adım Çalıştırma · Mantık Kapıları

Soru 20: Tam Toplayıcı: 1 + 0 + 1

Tam toplayıcı iki yarım toplayıcı ve bir OR kapısından oluşur. A = 1, B = 0, gelen elde Cin = 1 için her kapının çıkışı nedir?

Önce kendiniz tahmin edin, sonra › ile ilerleyin.

Yarımtoplayıcı 1Yarımtoplayıcı 2ORABc1s1CinSUMc2Cout

Yarım toplayıcı: SUM = XOR, CARRY = AND. Tam toplayıcı gelen eldeyi de toplar.

1 XOR 0 = 1 (girdiler farklı).

1 AND 0 = 0: ilk toplamada elde yok.

1 XOR 1 = 0: sonuç basamağı 0.

1 AND 1 = 1: elde ikinci yarım toplayıcıdan geldi.

0 OR 1 = 1.

(Cout, SUM) = 10₂ = 2 = 1 + 0 + 1 ✓.

A ← 1, B ← 0, Cin ← 1
s1 ← A XOR B          ; 1. yarım toplayıcı
c1 ← A AND B
SUM ← s1 XOR Cin      ; 2. yarım toplayıcı
c2 ← s1 AND Cin
Cout ← c1 OR c2
yaz(Cout, SUM)

Çoktan Seçmeli · Mantık Kapıları

Soru 21: Yarım Toplayıcının Kapıları

Yarım toplayıcıda sonuç basamağı (SUM) ve elde (CARRY) hangi kapılarla üretilir?

A: 1 + 1 = 10₂: XOR(1, 1) = 0 basamağı, AND(1, 1) = 1 eldeyi verir. B, 1 + 1 için SUM = 1 vererek yanlış sonuç (11₂ = 3) üretirdi. Yarım toplayıcı gelen eldeyi almaz; bunun için tam toplayıcı gerekir.

Çoktan Seçmeli · Bilgisayar Mimarisi

Soru 22: Hızdan Yavaşa

Bellek hiyerarşisindeki katmanların erişim süresine göre en hızlıdan en yavaşa doğru sıralaması hangisidir?

D: Yazmaç < 1 ns, önbellek ~1–10 ns, RAM ~100 ns, SSD ~0,1 ms, HDD ~10 ms. Üst katmanlar daha hızlı, küçük ve pahalı; alt katmanlar daha yavaş ve büyüktür.

Adım Adım Çalıştırma · Getir–Çöz–Çalıştır

Soru 23: Programı Adım Adım Çalıştırma

CPU aşağıdaki bellek içeriğini 1000 adresinden başlayarak çalıştırıyor. Her getir ve çalıştır adımında PC, IR, ACC ve bellek[1007] ne olur?

Önce kendiniz tahmin edin, sonra › ile ilerleyin.

Başlangıç: PC ilk komutun adresini tutar.

Getir: 1000’deki komut IR’ye gelir, PC bir artar.

Çöz + çalıştır: bellek[1005] = 9 okunur, ACC’ye yüklenir.

Getir: ADD 1006; PC → 1002.

ALU: 9 + 6 = 15.

Getir: aynı komut bir kez daha; PC → 1003.

ALU: 15 + 6 = 21.

Getir: STORE 1007; PC → 1004.

ACC’deki 21 veri yoluyla 1007 adresine yazılır.

Getir: HALT → CPU durur. 5 komut, 5 tur; sonuç 9 + 6 + 6 = 21. HALT olmasaydı CPU 1005’teki 9’u komut sanardı.

1000: LOAD 1005   ; ACC ← bellek[1005]
1001: ADD 1006    ; ACC ← ACC + bellek[1006]
1002: ADD 1006
1003: STORE 1007  ; bellek[1007] ← ACC
1004: HALT
1005: 9
1006: 6
1007: 0

Çıktı Sorusu · Getir–Çöz–Çalıştır

Soru 24: Komutların Yeri Değişirse

Sunumdaki programda STORE ile ADD’in yeri değiştirilmiş. Program bitince ACC ve bellek[1006] ne olur? Kaç komut getirilir?

1000: LOAD 1004
1001: STORE 1006
1002: ADD 1005
1003: HALT
1004: 12
1005: 8
1006: 0
Cevabı göster

ACC = 20, bellek[1006] = 12; 4 komut getirilir.

  • LOAD → ACC = 12. STORE → bellek[1006] = 12 (o anki ACC).
  • ADD → ACC = 12 + 8 = 20, ama bu değer belleğe hiç yazılmaz.
  • HALT → dur. CPU komutları sırayla yürütür; sıra sonucu değiştirir.
10041210058100612

Çoktan Seçmeli · Veri Yolları

Soru 25: Adresi Hangi Yol Taşır?

CPU, 1004 adresindeki değeri okuyor. “1004” sayısını belleğe hangi yol taşır?

B: Adres yolu hangi hücrenin istendiğini taşır ve tek yönlüdür (CPU’dan çıkar). Kontrol yolu OKU/YAZ ve zamanlama sinyallerini, çift yönlü veri yolu ise hücrenin içeriğini (12) taşır.

Çıktı Sorusu · Komut Kodlama

Soru 26: Makine Komutunu Çözme

Varsayımsal bir makinede komut 16 bittir: ilk 4 bit opcode (HALT = 0000, LOAD = 0001, ADD = 0010, STORE = 0011), kalan 12 bit adrestir.
a) 0011 0011 1110 1110 hangi komuttur?
b) LOAD 1004 nasıl kodlanır?
c) Kaç farklı adres gösterilebilir?

Cevabı göster

a) STORE 1006   b) 0001 0011 1110 1100   c) 4.096

0011001111101110opcode 0011adres (12 bit) = 1006STORE0011 1110 1110 = 3EE₁₆
  • a) 001111101110₂ = 3EE₁₆ = 3·256 + 14·16 + 14 = 1006.
  • b) 1004 = 3EC₁₆ = 0011 1110 1100.
  • c) 12 bit → 2¹² = 4.096 adres (0–4095).

Çoktan Seçmeli · Bilgisayar Mimarisi

Soru 27: von Neumann Darboğazı

“von Neumann darboğazı” neyi ifade eder?

A: Ortak bellek ve ortak yol esneklik sağlar (saklanan program) ama CPU, bellekteki veriyi beklerken boş kalabilir. Önbellek bu darboğazı hafifletmek için vardır. C yanlıştır: saklanan program yaklaşımı tam tersine yazılımla güncellemeyi mümkün kılar.

Çoktan Seçmeli · Programlama

Soru 28: Java’dan Assembly’ye

int fark = a - b; satırının, sunumdaki komutlarla doğru assembly karşılığı hangisidir?

C: Önce a bellekten yazmaca yüklenir (ALU yalnızca yazmaçlarla çalışır), sonra b çıkarılır, en son sonuç fark değişkeninin yerine yazılır. A’da çıkarma, R1’e a yüklenmeden yapılır. Tek bir Java satırı birkaç makine komutuna dönüşür.

Son

Bilgisayarlar: Çalışma Soruları
Konu anlatımı: Bilgisayarlar sunumu
1 / 1 Sercan KÜLCÜ, Tüm hakları saklıdır.