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
#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
#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
printf("%u
", x << ____);
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⁴).