CodeBlanks Logo Icon CodeBlanks

Bitsel operatörler

  • C kursu
  • Başlangıç
  • Ders 28/116
  • 5 dk

&, |, ^, ~, << ve >> ile bitsel işlemleri öğrenirsin.

Bitsel operatörler

Bitsel operatörler sayıların ikili (binary) bitleriyle çalışır: & (VE), | (VEYA), ^ (XOR), ~ (DEĞİL), << (sola kaydır), >> (sağa kaydır).

int a = 12;  /* 1100 */
int b = 10;  /* 1010 */
int c = a & b;  /* 1000 = 8 */
int d = a | b;  /* 1110 = 14 */

Bitsel VE her iki bit 1 ise 1 verir. Bitsel VEYA en az biri 1 ise 1 verir. Bu operatörler donanım ve sistem programlamada sık kullanılır.

Kaydırma operatörleri

<< bitleri sola kaydırır (her adımda 2 ile çarpar), >> sağa kaydırır (her adımda 2 ile böler).

int a = 5;
int b = a << 1;  /* 10: sola 1, 5*2 */
int c = a >> 1;  /* 2: sağa 1, 5/2 */

Sola kaydırma hızlı çarpma, sağa kaydırma hızlı bölmedir. Negatif sayılarla sağa kaydırma derleyiciye bağlıdır; taşıma dikkat et.

Uygulama Bitsel işlem sonuçlarını yazdır

int a = 12, b = 10; tanımla. Beş printf ile a & b, a | b, a ^ b, a << 1 ve a >> 1 sonuçlarını ayrı satırlarda yazdır. Çıktı 8, 14, 6, 24, 6 olmalı.

Başlangıç kodu

main.c
#include <stdio.h>

int main(void) {
    int a = 12, b = 10;
    /* a & b, a | b, a ^ b, a << 1, a >> 1 sonuçlarını yazdır */
    return 0;
}

Örnek çözüm

main.c
#include <stdio.h>

int main(void) {
    int a = 12, b = 10;
    printf("%d\n", a & b);
    printf("%d\n", a | b);
    printf("%d\n", a ^ b);
    printf("%d\n", a << 1);
    printf("%d\n", a >> 1);
    return 0;
}

Beklenen çıktı

8
14
6
24
6

Soru ve cevaplar

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

1 Bitsel VE operatörü

Soru
int x = 12 ____ 10;  /* x = 8: bitsel VE */
Cevap
int x = 12 & 10;  /* x = 8: bitsel VE */

Açıklama: & bitsel VE operatörüdür.

2 Bitsel operatörleri eşleştir

Kavram Anlamı
& bitsel VE
| bitsel VEYA
^ bitsel XOR
~ bitsel değil

3 Hangisi bitsel AND işlemidir?

  • & Doğru cevap
  • &&
  • +
  • and

Açıklama: & bitsel AND operatörüdür; && mantıksal VE'dir.

Başlangıç bölümündeki tüm dersler