Bit Düzeyinde VE VEYA XOR Hesaplama

VE, VEYA ve XOR hesaplamak için iki negatif olmayan tam sayı girin.

Nasıl hesaplanır?

İki alan da 0 ile 9.223.372.036.854.775.807 (263 − 1) arasında, olağan onluk düzende yazılmış tam sayı ister. Araç iki sayıyı bit bit karşılaştırır: A & B yalnızca iki sayıda da 1 olan yerde 1 bırakır, A | B en az birinde 1 olan yerde 1 bırakır, A ^ B ise yalnızca birinde 1 olan yerde 1 bırakır. Rakam dizileri tam sayı olarak okunur; büyük değerler de tüm basamaklarını korur. Üç sonuç onluk düzende, basamak ayırıcıyla gösterilir; XOR ayrıca başında sıfır olmayan ikili bir dizi olarak yazılır (XOR sonucu 0 ise 0 görünür). Negatif sayılar, ondalıklılar, ikili ya da onaltılı yazılmış metinler ve sınırı aşan değerler sonuç vermez; yani ikiye tümleyen modellenmez.

Örnek hesaplama

A = 202 ve B = 153 olsun. İkili düzende 202, 11001010; 153 ise 10011001'dir. VE, ikisinde de 1 olan bitleri tutar: 10001000 çıkar, yani 136. VEYA, en az birinde 1 olan bitleri tutar: 11011011, yani 219. XOR, farklı olan bitleri tutar: 01010011, yani 83; ikili olarak 1010011 görünür. Kontrol: VE + XOR = 136 + 83 = 219, VEYA değerine eşittir.

Bu örneği dene →

Sık yapılan hatalar

  • Sayıları ikili ya da onaltılı yazmak. Alanlar yalnızca onluk düzen ister; 11001010 ya da CA değil, 202 yazın. 0xCA gibi bir metin sonuç vermez.
  • Negatif sayının ikiye tümleyenle çalışmasını beklemek. Negatif girdiler reddedilir; önce işaretsiz karşılığını kendiniz bulun.
  • Bit düzeyinde VE ile doğru/yanlış üzerindeki mantıksal VE'yi karıştırmak. Burada sayının her biti işlenir; 12 ve 10 sonucu doğru değil, 8 çıkar.
  • XOR ikili dizisini sabit genişlikte sanmak. Başında sıfır yoktur; 83, 8 bitlik bir değer olarak değil, 1010011 olarak görünür.
  • 9.223.372.036.854.775.807 değerinden büyük bir sayı girmek. Bu, işaretli 64 bitin üst sınırıdır; daha büyük girdiler sonuç göstermez.

Bu hesaplama hakkında

Bit düzeyinde VE (AND), VEYA (OR) ve XOR işlemleri, iki sayıyı ikili basamak basamak karşılaştırır. VE, yalnızca her iki sayının da o pozisyonda 1 olduğu yerlerde 1 döndürür; VEYA, sayılardan herhangi birinin o pozisyonda 1 olduğu yerlerde 1 döndürür; XOR (dışlayan veya) ise yalnızca iki sayıdan tam olarak birinin o pozisyonda 1 olduğu yerlerde 1 döndürür — yani eşleşen bitler birbirini götürüp 0 verir. İşlemin her bit pozisyonuna aynı anda uygulanması, bunları tüm doğru/yanlış değerler üzerinde çalışan düz mantıksal VE/VEYA'dan ayırıp ‘bit düzeyinde’ yapar.

Programcılar, belirli bitleri maskelemek için — örneğin bir alt ağ maskesini bir IP adresiyle karşılaştırmak veya bir bit alanında belirli bir bayrağın ayarlı olup olmadığını kontrol etmek için — bit düzeyinde VE'yi; bayrakları birleştirmek için VEYA'yı; bitleri tersleme, geçici değişken kullanmadan iki değeri takas etme, basit akış şifreleri ve iki ikili değer arasındaki farkları bulma gibi işler için de XOR'u kullanır, çünkü bir değerin kendisiyle XOR'lanması her zaman sıfır verir.

Bu faydalı oldu mu?

En fazla 3 tepki seçebilirsiniz.

Yorumlar

  • İlk yorumu siz yazın.

Popüler hesaplayıcılar

Tüm Hesaplayıcılar