Bit Düzeyinde VEYA Hesaplayıcı Nedir?
Bu hesaplayıcı, iki tam sayının bit düzeyinde VEYA (OR) işlemini hesaplar; çoğu programlama dilinde bu işlem a | b şeklinde yazılır. VEYA işlemi iki sayıyı bit bit karşılaştırır ve şöyle bir sonuç üretir: karşılık gelen bitlerden en az biri (ya da her ikisi) 1 ise sonuç biti 1 olur; yalnızca her iki bit de 0 olduğunda sonuç biti 0 olur.
Nasıl Kullanılır?
Önce ilk tam sayıyı (A), ardından ikinci tam sayıyı (B) girin ve ondalık sonucu okuyun. Hem negatif hem pozitif tam sayılar desteklenir. Araç, giriş ve çıkışta tamamen 10’luk tabanda çalışır; ancak her değeri arka planda ikili (binary) gösterimi üzerinden işler.
Formülün Açıklaması
İşlem, VEYA doğruluk tablosuna göre her bit için ayrı ayrı yapılır:
$$\text{Result} = \text{A} \mathbin{|} \text{B}$$\(0 \mathbin{|} 0 = 0\), \(0 \mathbin{|} 1 = 1\), \(1 \mathbin{|} 0 = 1\), \(1 \mathbin{|} 1 = 1\). Örneğin A = 12 ve B = 10 olsun. İkili tabanda 12 = 1100 ve 10 = 1010’dur. Bunları alt alta yazıp her sütuna VEYA uyguladığımızda 1110 elde ederiz; bu da ondalık tabanda 14’e eşittir. Yani
Çözümlü Örnek
Diyelim ki \(5 \mathbin{|} 3\) işlemini yapmak istiyorsunuz. İkili tabanda 5 = 101 ve 3 = 011’dir. Her bite VEYA uyguladığımızda: \(1 \mathbin{|} 0 = 1\), \(0 \mathbin{|} 1 = 1\), \(1 \mathbin{|} 1 = 1\), yani 111 = 7 çıkar:
Hesaplayıcı 7 sonucunu verir.
Sık Sorulan Sorular
Bit düzeyinde VEYA, toplama ile aynı şey mi? Hayır. VEYA işleminde elde (taşıma) yoktur. \(1 \mathbin{|} 1\) sonucu 1 olarak kalır; oysa \(1 + 1\) ikili tabanda 10’a taşar. Yalnızca operandların ortak (çakışan) set edilmiş biti olmadığında sonuçlar aynı çıkar.
Peki negatif sayılar? Negatif tam sayılar ikiye tümleyen (two’s complement) gösterimini kullanır; bu nedenle VEYA işlemi işaret bitleri dahil aynı bit kurallarına göre çalışır.
VEYA neden işe yarar? VEYA işlemi genellikle belirli bitleri set etmek (açmak) veya bayrak (flag) değerlerini birleştirmek için kullanılır; örneğin izin maskelerini bir araya getirmek gibi.
Yaygın Bitwise OR Değerleri Referansı
Aşağıdaki tablo 0 ile 8 arasındaki küçük işlenenlerin her bir çifti için \(A \mathbin{|} B\) değerini verir. A için satırı ve B için sütunu okuyun; hücre ondalık sonuçtur.
| | | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 1 | 1 | 1 | 3 | 3 | 5 | 5 | 7 | 7 | 9 |
| 2 | 2 | 3 | 2 | 3 | 6 | 7 | 6 | 7 | 10 |
| 3 | 3 | 3 | 3 | 3 | 7 | 7 | 7 | 7 | 11 |
| 4 | 4 | 5 | 6 | 7 | 4 | 5 | 6 | 7 | 12 |
| 5 | 5 | 5 | 7 | 7 | 5 | 5 | 7 | 7 | 13 |
| 6 | 6 | 7 | 6 | 7 | 6 | 7 | 6 | 7 | 14 |
| 7 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 15 |
| 8 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 8 |
Köşegen (A = B olan yer) her zaman işleneni kendisi döndürür, çünkü x | x = x olur.
Bitwise OR, izin bayraklarını birleştirmenin standart yöntemidir. Yaygın Unix tarzı izin bitleri şu şekildedir: oku = 4 (100), yaz = 2 (010), çalıştır = 1 (001):
| Kombinasyon | İfade | Ondalık | İkili |
|---|---|---|---|
| Oku + Yaz | 4 | 2 | 6 | 110 |
| Oku + Çalıştır | 4 | 1 | 5 | 101 |
| Yaz + Çalıştır | 2 | 1 | 3 | 011 |
| Oku + Yaz + Çalıştır (rwx) | 4 | 2 | 1 | 7 | 111 |
| İki bayt birleştirildi | 240 | 15 | 255 | 11111111 |
Ana Terimler
- Bit
- Dijital verinin en küçük birimi, 0 veya 1'in tek bir ikili değerini tutar. 8 bitin grubu bir bayt oluşturur.
- Ayarlanmış / ayarlanmamış bit
-
Ayarlanmış bir bit
1değerine sahiptir; ayarlanmamış (veya temizlenmiş) bir bit0değerine sahiptir. Bitwise OR, diğerlerini rahatsız etmeden belirli bitleri ayarlamak için yaygın olarak kullanılır. - Bitmask
- Bir başka değerdeki belirli bitleri seçmek, ayarlamak veya temizlemek için seçilen bit düzeni olan bir tam sayı. Bir değeri bir maskla OR-leme işlemi, maskta ayarlanmış olan her biti sonuçta ayarlanmış hale getirir.
- Bayrak
-
Bir açık/kapalı ayarı temsil etmek için kullanılan bireysel bir bit (genellikle adlandırılmış bir sabit verilir). Birden çok bayrak bir tam sayıya paketlenir ve OR ile birleştirilir, örneğin
OKU | YAZ. - İkiye tümleyen
-
Bilgisayarların işaretli tam sayıları temsil etmenin standart yöntemi. En anlamlı bit negatif ağırlık taşır, bu nedenle bir
n-bitlik sayı \(-2^{n-1}\) ile \(2^{n-1}-1\) arasında değer alır. Örneğin, \(-1\) tümü 1-bitler olarak depolanır. - En anlamlı / en az anlamlı bit (MSB / LSB)
- MSB sol taraftaki bittir, en büyük yer değerini taşır (ve ikiye tümleyende işareti); LSB sağ taraftaki bittir, yer değeri \(2^0 = 1\) olan.
- Taban 10 ile taban 2 karşılaştırması
- Taban 10 (ondalık), 0–9 rakamları kullanan günlük sayı sistemidir. Taban 2 (ikili) sadece 0 ve 1 kullanır, her konum iki'nin bir kuvvetine karşılık gelir. Bitwise işlemleri taban-2 gösteriminde çalışır, bu hesaplayıcı sonucu taban 10'da gösterir.