0Pricing
C Academy · Ders

Bit Düzeyi İşleçler

AND, OR, XOR, NOT

Bit Düzeyi İşleçler, CoddyKit'te ücretsiz bir C Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C Academy kursu toplamda 4 dersten oluşur.

Bit Düzeyinde Çalışma

Tamsayılar bit dizileri olarak saklanır. C, bit düzeyinde işleçler ile bu bitler üzerinde doğrudan işlem yapmanızı sağlar.

Dört temel işleç AND &, OR |, XOR ^ ve NOT ~ işleçleridir.

#include <stdio.h>

int main(void) {
    unsigned a = 12;
    unsigned b = 10;
    printf("a & b = %u\n", a & b);
    return 0;
}

Bit Düzeyinde AND

& işleci, yalnızca her iki girdi biti de 1 olduğunda sonuç bitini 1 yapar.

12 (1100) ve 10 (1010) için sonuç 8 (1000) olur.

#include <stdio.h>

int main(void) {
    unsigned a = 12, b = 10;
    printf("%u & %u = %u\n", a, b, a & b);
    return 0;
}

Bit Düzeyinde OR

| işleci, girdi bitlerinden en az biri 1 olduğunda sonuç bitini 1 yapar.

12 (1100) OR 10 (1010), 14 (1110) eder.

#include <stdio.h>

int main(void) {
    unsigned a = 12, b = 10;
    printf("%u | %u = %u\n", a, b, a | b);
    return 0;
}

Bit Düzeyinde XOR

^ işleci (özel OR), girdi bitleri farklı olduğunda sonuç bitini 1 yapar.

12 (1100) XOR 10 (1010), 6 (0110) eder.

#include <stdio.h>

int main(void) {
    unsigned a = 12, b = 10;
    printf("%u ^ %u = %u\n", a, b, a ^ b);
    return 0;
}

Bit Düzeyinde NOT

~ işleci her biti tersine çevirir. İşaretsiz değerlerde ~0, tüm bitleri 1 olan en büyük değerdir.

#include <stdio.h>

int main(void) {
    unsigned char x = 0;
    printf("~0 as 8-bit = %u\n", (unsigned char)~x);
    return 0;
}

Bitleri Yazdırma

Bir baytın ikili biçimini yazdıran yardımcı işlev, bit düzeyindeki sonuçları anlamayı kolaylaştırır. Her biti yüksekten düşüğe sınarız.

#include <stdio.h>

void print_bits(unsigned char v) {
    for (int i = 7; i >= 0; i--) {
        putchar((v >> i) & 1 ? '1' : '0');
    }
    putchar('\n');
}

int main(void) {
    print_bits(12);
    print_bits(10);
    return 0;
}

XOR ile Yer Değiştirme

XOR'un ilginç bir özelliği vardır: iki tamsayıyı geçici bir değişken kullanmadan yer değiştirebilirsiniz.

Değerleri değiştirmek için XOR işlemini üç kez uygulayın.

#include <stdio.h>

int main(void) {
    int a = 5, b = 9;
    a = a ^ b;
    b = a ^ b;
    a = a ^ b;
    printf("a=%d b=%d\n", a, b);
    return 0;
}

Kendisiyle XOR

Kendisiyle XOR işlemine tabi tutulan her değer 0 olur; 0 ile XOR işlemine tabi tutulan her değer ise değişmeden kalır.

Bu özdeşlikler, XOR ile yer değiştirme işleminin ve daha birçok tekniğin temelini oluşturur.

#include <stdio.h>

int main(void) {
    int x = 42;
    printf("x ^ x = %d\n", x ^ x);
    printf("x ^ 0 = %d\n", x ^ 0);
    return 0;
}

Bit Düzeyinde ve Mantıksal İşlemler

& ile && veya | ile || işleçlerini karıştırmayın.

  • Bit düzeyindeki işleçler işlenenlerin her biti üzerinde çalışır.
  • Mantıksal işleçler doğruluk değerini değerlendirir ve 0 veya 1 döndürür.
#include <stdio.h>

int main(void) {
    printf("2 & 1 = %d\n", 2 & 1);
    printf("2 && 1 = %d\n", 2 && 1);
    return 0;
}

İşleçleri Birleştirme

Bit düzeyindeki işleçler, karmaşık koşulları ifade etmek için birleştirilebilir. Burada a içinde bulunan, ancak b içinde bulunmayan bitleri koruyoruz.

#include <stdio.h>

int main(void) {
    unsigned a = 0b1111;
    unsigned b = 0b0101;
    unsigned only_a = a & ~b;
    printf("only_a = %u\n", only_a);
    return 0;
}

XOR ile Tek-Çift Denetimi

Tüm bitleri birlikte XOR işlemine tabi tutmak, tekliği (1 olan bitlerin sayısının tek olup olmadığını) gösterir. Değeri art arda küçültün.

#include <stdio.h>

int main(void) {
    unsigned v = 0b1011;
    int parity = 0;
    while (v) {
        parity ^= (v & 1);
        v >>= 1;
    }
    printf("parity = %d\n", parity);
    return 0;
}

Hızlı Kontrol

Bit düzeyindeki işleçler hakkındaki bilginizi sınayın.

Özet

Bit düzeyindeki işleçleri öğrendiniz:

  • & AND, her iki işlenende de 1 olan bitleri korur.
  • | OR, işlenenlerden en az birinde 1 olan bitleri korur.
  • ^ XOR, farklı olan bitleri korur.
  • ~ NOT, tüm bitleri tersine çevirir.
  • Bit düzeyindeki işlemler, mantıksal && ve || işlemlerinden farklıdır.

Sıkça Sorulan Sorular

“Bit Düzeyi İşleçler” dersi ücretsiz mi?

Evet — “Bit Düzeyi İşleçler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C Academy kursu toplamda 4 dersten oluşur.

“Bit Düzeyi İşleçler” dersinde ne öğreneceğim?

AND, OR, XOR, NOT C Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

C Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te C Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Bit Düzeyi İşleçler” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu C Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her C Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Bit Düzeyi İşleçler
  2. Kaydırmalar
  3. Bit Maskeleri ve Bayraklar
  4. Pratik Bit Teknikleri
← C Academy Sayfasına Dön