CodeBlanks Logo Icon CodeBlanks

Bit kaydırma

  • C kursu
  • Orta seviye
  • Ders 102/116
  • 5 dk

<< ve >> ile bit kaydırma desenlerini öğrenirsin.

Bit kaydırma

Bit kaydırma, bir değerin bitlerini sola (<<) veya sağa (>>) taşır. Sola kaydırma her biti bir basamak yukarı taşır; bu, ikinin kuvvetiyle çarpmakla aynıdır.

Örnek: 1 << 4 sonucu 16'dır; çünkü 1 dört basamak sola kayınca on altı olur. Benzer şekilde 256 >> 2 sonucu 64'tür; sağa iki basamak kaymak dörde bölmekle eşdeğerdir. unsigned türlerde sağa kaydırma her zaman sıfır doldurur; signed türlerde işaret biti korunabilir. Kaydırma, renk kanallarını ayırmak ve bit paketleme işlemlerinde temel araçtır.

Kaydırma ve ikinin kuvvetleri

Kaydırma, ikinin kuvvetleriyle çarpma ve bölmenin hızlı yoludur. n << k, n * 2^k anlamına gelir; n >> k ise n / 2^k (tamsayı bölme) anlamına gelir.

Örnek: 1 << 4 = 16 (1 × 2⁴), 256 >> 2 = 64 (256 ÷ 4). İşlemci çarpmadan daha hızlı yaptığı için, eski kodlarda performans için kullanılırdı. Modern derleyiciler n * 4 yazdığında otomatik olarak n << 2 üretir; bu yüzden günümüzde okunabilirlik için çarpma tercih edilir. Ama bit paketlemede kaydırma hala vazgeçilmezdir; bitleri doğru konuma yerleştirmenin tek yoludur.

Uygulama Bit kaydırma programı yaz

unsigned int x = 1; tanımla. printf("%u\n", x << 4); ile sola kaydır ve yazdır. unsigned int y = 256; tanımla. printf("%u\n", y >> 2); ile sağa kaydır ve yazdır.

Başlangıç kodu

main.c
#include <stdio.h>

// x değişkenini 1 olarak tanımla
// sola kaydır ve yazdır
// y değişkenini 256 olarak tanımla
// sağa kaydır ve yazdır

int main(void) {
    return 0;
}

Örnek çözüm

main.c
#include <stdio.h>

int main(void) {
    unsigned int x = 1;
    printf("%u\n", x << 4);
    unsigned int y = 256;
    printf("%u\n", y >> 2);
    return 0;
}

Beklenen çıktı

16
64

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Sola kaydırma ifadesini tamamla

Soru
printf("%u
", x << ____);
Cevap
printf("%u
", x << 4);

Açıklama: x << 4 on altı ile çarpmaya eşdeğerdir.

2 Kaydırma işlemlerini eşle

Kavram Anlamı
<< Sola kaydır
>> Sağa kaydır
1 << 4 On altı
256 >> 2 Altmış dört

3 1 << 4 kaçtır?

  • 4
  • 16 Doğru cevap
  • 8
  • 32

Açıklama: 1 dört basamak sola kayınca 16 olur (2⁴).

Orta seviye bölümündeki tüm dersler