Bit işlemleri nasıl yapılır?
Sayıları aynı bit genişliğinde ikilik yaz ve basamakları alt alta getir. 12 = 0000 1100, 10 = 0000 1010 (8 bit). AND sonucu her sütunda iki bit de 1 ise 1'dir: 0000 1000 = 8.
XOR, aynı maskeyle iki kez uygulanınca sayıyı geri verir: (A XOR B) XOR B = A. 0xFF XOR 0x0F = 0xF0; bu özellik bit çevirme ve basit şifrelemede kullanılır.
NOT bütün bitleri ters çevirir. 8 bitte NOT 0 = 1111 1111 = 255 (işaretsiz) ya da −1 (işaretli). İşaretli sayılar ikiye tümleyenle tutulur: −x = NOT x + 1.
Sola kaydırma (<<) bitleri sola iter ve sağdan 0 ekler, yani 2ⁿ ile çarpar; sağa mantıksal kaydırma (>>) soldan 0 ekler ve 2ⁿ'ye bölüp aşağı yuvarlar. Sabit genişliğin dışına taşan bitler atılır; hesaplayıcı bunu uyarıyla gösterir.
Toplama, çıkarma, çarpma ve tam bölme işaretli tam sayıyla yapılır. 8 bitte 127 + 1 = −128 olur: sonuç aralığa sığmadığı için sarılır (taşma).
Formül
- AND · OR · XOR
1∧1 = 1, diğerleri 0 · 0∨0 = 0, diğerleri 1 · a⊕b = 1 ⇔ a ≠ b- İkiye tümleyen
−x = (NOT x) + 1 (mod 2^n)- Kaydırma
A << n = A × 2^n (mod 2^w), A >> n = ⌊A ÷ 2^n⌋
Örnek hesap
Aşağıdaki örnek, şu değerlerle (Sayıların tabanı: Onluk (DEC), Birinci sayı (A): 12, İşlem: AND (ve), İkinci sayı (B): 10, Bit genişliği: 8 bit (bayt)) hesaplayıcının kendisiyle hesaplanmıştır.
| Adım | Hesap | Değer |
|---|---|---|
| İkilik gösterim | 0000 1100 AND 0000 1010 = 0000 1000 | 0x08 |
| Kural | Her bit: iki bit de 1 ise 1, değilse 0 | 8 |
| 12 AND 10 (onluk) | 8 |
Örneğin tablosu (3 satır)
| Değer | İkilik (8 bit) | Onaltılık | Onluk |
|---|---|---|---|
| A | 0000 1100 | 0C | 12 |
| B | 0000 1010 | 0A | 10 |
| Sonuç | 0000 1000 | 08 | 8 |
Kaynaklar
- Wolfram MathWorld — Two's Complement (ikiye tümleyen gösterim) (erişim 04.11.2026)
- D. E. Knuth — The Art of Computer Programming, Cilt 4A, §7.1.3 Bitwise Tricks and Techniques (künye) (erişim 04.11.2026)
Son güncelleme: (içerik ya da kullanılan verinin son değiştiği ya da kontrol edildiği tarih).
Hesaba katılmayanlar
- Yalnızca tam sayılar; kayan noktalı (IEEE 754) sayıların bit gösterimi hesaplanmaz.
- Sağa kaydırma mantıksaldır (soldan 0 girer); aritmetik kaydırma ve döndürme (rotate) işlemleri yok.
- Bit genişliği 8, 16, 32 ya da 64 bittir; seçilen genişliğe sığmayan girdi reddedilir.
- Tam bölme sıfıra doğru keser ve kalanın işareti bölünenin işaretidir (C ve Java davranışı); matematikteki mod işlemi için mod alma sayfasını kullan.
Sıkça sorulan sorular
AND, OR ve XOR arasındaki fark nedir?
AND yalnızca iki bit de 1 iken 1 verir (maskeleme), OR bitlerden biri 1 ise 1 verir (bit açma), XOR bitler farklıysa 1 verir (bit çevirme). 12 ve 10 için sonuçlar sırasıyla 8, 14 ve 6'dır.
İkiye tümleyen (two's complement) nedir?
Bilgisayarların eksi tam sayıları tutma yöntemidir: sayının bitleri ters çevrilip 1 eklenir. 8 bitte −1 = 1111 1111, −128 = 1000 0000. En soldaki bit işaret bitidir.
Bit kaydırma ne işe yarar?
Sola kaydırma 2'nin kuvvetiyle hızlı çarpma, sağa kaydırma hızlı bölme yapar; bayrak ve maske oluşturmada da kullanılır: 1 << 5 = 32, beşinci biti açan maskedir.
Onaltılık (hex) sayıyı nasıl girerim?
Tabanı onaltılık seç ve sayıyı 0-9 ve A-F basamaklarıyla yaz; 0x öneki ve gruplama boşluğu kabul edilir (0xFF, FF, ff aynıdır).
Taşma (overflow) neden olur?
Sonuç seçilen bit genişliğinin aralığına sığmazsa üstteki bitler atılır. 8 bit işaretli aralık −128 ile 127'dir; 127 + 1 sonucu −128'e sarılır.