Sayı sistemleri: adım adım çözümlü alıştırma soruları
Diğer adları: ikilik sayı sistemi · onaltılık sayı sistemi · taban dönüşümü
Şekiller, ipuçları ve ayrıntılı çözümlerle ücretsiz Sayı sistemleri alıştırma soruları. Her seferinde yeni değerler, üç seviyede: ikilik ve onaltılıktan onluğa, ikiye tümleyen, bitler, aralıklar ve bellek.
Ücretsiz alıştırma sorusuKolay
8 bitlik yazmacın 0x99 değerini tutması için bitleri ayarlayın. Desenin onluk değeri N nedir?
0x99
Bir biti 0 ile 1 arasında değiştirmek için tıklayın. Kutu, desenizi işaretsiz bir sayı olarak gösterir ve onu yazabilirsiniz de. Kesin cevap: tam sayı, yuvarlama yok.
Bilgisayar her şeyi açık ya da kapalı anahtarlar olarak saklar. Bu yüzden yalnızca 0 ve 1 rakamlarıyla ikili, yani 2 tabanında sayar.
Bir ikili rakam bir bittir. 8 bitlik bir grup bir bayttır.
Kural her tabanda aynıdır: her rakam, değerinin tabanın bir kuvvetiyle çarpımı kadar eder.
Kendini sına 4721 ondalık sayısında 7 kaç eder?
7000
700
70
7
Cevap: 700. Sağdan sayınca basamaklar 1, 10, 100 ve 1000 değerindedir. 7 üçüncü basamaktadır, bu yüzden 7 · 100 = 700 eder.
2İkili ve onaltılık
İkili sistemde basamaklar sağdan 1, 2, 4, 8, 16 ve böyle devam eder. Her basamak sağındakinin iki katı değerindedir.
8 bitlik bir sayıda basamaklar 128, 64, 32, 16, 8, 4, 2 ve 1 değerindedir.
Bir ikili sayıyı okumak için 1 olan her bitin basamak değerini toplayın. 0011 0010 için bu 32 + 16 + 2 = 50’dir.
Uzun bit dizilerini okumak zordur. Programcılar bunları çoğu zaman 16 tabanında onaltılık (hex) yazar.
Onaltılık sistem 16 rakama ihtiyaç duyar. 0’dan 9’a ve sonra A = 10, B = 11, C = 12, D = 13, E = 14 ve F = 15 harflerini kullanır.
Onaltılık basamaklar sağdan 1, 16, 256 ve 4096 değerindedir. Onaltılık sayı çoğu zaman önüne 0x konularak yazılır, örneğin 0x2F.
Bir onaltılık rakam tam olarak 4 bittir, bu yüzden 0011 0010, 0x32’dir: 0011 3’tür ve 0010 2’dir.
Kendini sına 0x1A ondalık olarak nedir?
110
11
161
26
Cevap: 26. A = 10. Basamaklar 16 ve 1’dir, yani 1 · 16 + 10 · 1 = 26. Rakamları yan yana yazmak (110) ya da toplamak (11) basamak değerlerini yok sayar. 161 basamakları ters sırada kullanır.
3Negatif sayılar: ikiye tümleyen
Tüm basamakları pozitif olan bir bayt 0’dan 255’e kadar saklar. Buna işaretsiz denir.
Negatif sayıları saklamak için bilgisayarlar ikiye tümleyeni kullanır. Tek fark, en soldaki bitin +128 yerine −128 değerinde olmasıdır.
Yani 1000 0011, −128 + 2 + 1 = −125’tir. En soldaki bite işaret biti denir: 1 olduğunda sayı negatiftir.
8 bitlik bir ikiye tümleyen sayı −128’den (1000 0000) +127’ye (0111 1111) kadar gider.
−x negatif sayısını yazmak için ikili +x ile başlayın, her biti ters çevirin (0 olur 1, 1 olur 0) ve 1 ekleyin.
−5 için örnek: 5, 0000 0101’dir. Ters çevrilmişi 1111 1010’dur. 1 eklenince 1111 1011 olur.
Aynı dizilim işaretsiz okunursa değeri 256 − x’tir. −5 için bu 251’dir ve 1111 1011 gerçekten 128 + 64 + 32 + 16 + 8 + 2 + 1 = 251’dir.
Kendini sına 8 bitlik 1111 1111 dizilimi bir ikiye tümleyen sayı saklıyor. Değeri nedir?
Negatif bir sayı için işaretsiz değer 256 − x’tir, yani x = 256 − 182 = 74. Bu yine N = −74 verir.
5
Ters çevirerek kontrol edin
1011 0110’u ters çevirip 0100 1001 bulun, sonra 1 ekleyip 0100 1010 elde edin.
0100 1010, 64 + 8 + 2 = 74’tür. Yani asıl dizilim −74’tür.
Cevap
N = −74
6Sık yapılan hatalar
Bitleri ters çevirdikten sonra 1 eklemeyi unutmak. Bir eksik bulursunuz.
İkiye tümleyen dizilimi işaretsiz okumak, örneğin 1111 1111’i −1 yerine 255 olarak.
İşaret bitini diğer bitlerin önündeki eksi işareti saymak. İkiye tümleyende değeri −128’dir.
Basamakları yanlış sırada vermek. 1 değerindeki basamak her zaman sağdadır.
Onaltılıkta A = 11 kullanmak. Harfler A = 10 ile başlar.
Bellek sorularında bit ile baytı karıştırmak. Bit sayısını 8’e bölün.
Kendini sına −5, 8 bitlik ikiye tümleyen dizilim olarak nedir?
0000 0101
1000 0101
1111 1010
1111 1011
Cevap: 1111 1011. 5, 0000 0101’dir. Ters çevirmek 1111 1010 verir ve 1 eklemek 1111 1011 verir. 1111 1010 1 eklemeyi unutur, 1000 0101 ise 5’in önüne eksi işareti koyar.
7Sınav soruları nasıl görünür
Kolay: ikili ve onaltılıktan ondalığa. 8 bitlik bir ikili sayıyı ya da 3 basamaklı bir onaltılık sayıyı ondalığa çevirin.
Orta: ikiye tümleyen. İşaretli 8 bitlik bir dizilimin değerini okuyun ya da negatif bir sayıyı dizilim olarak yazıp işaretsiz değerini verin.
Zor: bitler, aralıklar ve bellek. n bite sığan en büyük ya da en negatif değer, k kod için gereken bit sayısı ya da bir görüntünün kapladığı bellek.
Zor bir soru örneği: piksel başına 24 bit olan 256 × 256 bir görüntü 256 · 256 · 24 / 8 / 1024 = 192 KiB yer kaplar.
Kendini sına 375 öğeye kendi kodunu veren en küçük bit sayısı nedir?
188
512
8
9
Cevap: 9. 2⁸ = 256 çok az koddur, 2⁹ = 512 yeterlidir, yani 9 bit. 512 kod sayısıdır, bit sayısı değil.
Harfleri değerleriyle değiştirin (A = 10 … F = 15), basamak değeriyle çarpın ve toplayın.
2 = 2, B = 11, E = 14.
Cevabı ve adım adım çözümü göster
Konumsal sayı sistemleri: her basamak, değeri çarpı tabanın bir kuvveti kadar değerlidir. İkilik sistemde basamaklar 1, 2, 4, 8, 16, …; onaltılık sistemde 1, 16, 256, … değerindedir ve A–F, 10–15'i gösterir. 8 bitlik ikiye tümleyende en soldaki bit +128 yerine −128 değerindedir; negatif sayılar böyle saklanır.
Her basamağı basamak değeriyle çarpın
2·256 + 11·16 + 14·1 = 702
Cevap
0x2BE = 702
Örnek 2Orta
Bitleri, 8 bitlik ikiye tümleyende −45 saklayacak şekilde ayarlayın. İşaretsiz bir sayı olarak okunduğunda desenin değeri U nedir?
N = −458 bit
İstenen: U
İpuçlarını göster
45 sayısını ikilik tabanda yazın, her biti tersine çevirin, sonra 1 ekleyin.
45 = 0010 1101₂.
İşaretsiz bir sayı olarak desen 256 + N’ye eşittir.
Cevabı ve adım adım çözümü göster
Bitleri ayarlamak: her bit ikinin bir kuvveti değerindedir (128, 64, …, 1). Bir onaltılık basamak tam olarak dört bittir ve 8 bitlik ikiye tümleyende en soldaki bit −128 değerindedir. Bit işlemleri her bit konumunda ayrı ayrı çalışır.
Tersine çevirin ve bir ekleyin
45 = 0010 1101
tersine çevrilmiş: 1101 0010
+1 → 1101 0011
İşaretsiz okuyun
1101 0011₂ = 256 − 45 = 211
Cevap
U = 211
Örnek 3Zor
Bitleri 0111 0001 >> 3 işleminin 8 bitlik sonucuna ayarlayın. Sonucun onluk değeri R nedir?
0111 0001>> 3
İstenen: R
İpuçlarını göster
3 kadar sağa kaydırmak her biti 3 basamak sağa taşır; sağ uçtan düşen bitler kaybolur ve soldan sıfırlar girer.
Her seferinde bir bit konumuyla, soldan sağa çalışın.
Sonucun ilk dört biti 0000’dır.
Cevabı ve adım adım çözümü göster
Bitleri ayarlamak: her bit ikinin bir kuvveti değerindedir (128, 64, …, 1). Bir onaltılık basamak tam olarak dört bittir ve 8 bitlik ikiye tümleyende en soldaki bit −128 değerindedir. Bit işlemleri her bit konumunda ayrı ayrı çalışır.
Bit bit
3 kadar sağa kaydırmak her biti 3 basamak sağa taşır; sağ uçtan düşen bitler kaybolur ve soldan sıfırlar girer.
0111 0001 >> 3
= 0000 1110
Sonucun değeri
0000 1110₂ = 14
Cevap
R = 14
Sorular ve cevaplar
Sayı sistemleri nedir?
Gündelik hayatta ondalık, yani 10 tabanında sayarsınız. On rakamı vardır, 0’dan 9’a, ve her basamak sağındaki basamağın on katı değerindedir.
Konumsal sayı sistemleri: her basamak, değeri çarpı tabanın bir kuvveti kadar değerlidir. İkilik sistemde basamaklar 1, 2, 4, 8, 16, …; onaltılık sistemde 1, 16, 256, … değerindedir ve A–F, 10–15'i gösterir. 8 bitlik ikiye tümleyende en soldaki bit +128 yerine −128 değerindedir; negatif sayılar böyle saklanır.
Sayı sistemleri alıştırmaları neleri kapsar?
Kolay: ikilik ve onaltılıktan onluğa
Orta: ikiye tümleyen
Zor: bitler, aralıklar ve bellek
Her soruda yeni değerler olur; böylece bir cevabı değil, yöntemi öğrenirsiniz. Takıldınız mı? Önce küçük bir ipucu açın, tam açıklamayı ise yalnızca gerektiğinde.
Çalışma nasıl işler
Her soruda yeni değerler olur; böylece bir cevabı değil, yöntemi öğrenirsiniz.
Takıldınız mı? Önce küçük bir ipucu açın, tam açıklamayı ise yalnızca gerektiğinde.
İlerlemeniz, hatalarınız ve kaydettiğiniz sorular saklanır; böylece sınavdan önce gözden geçirebilirsiniz.