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
#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
#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ü
int x = 12 ____ 10; /* x = 8: bitsel VE */
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.