İkili kaydırmalar (C++)


Bit işlemleri

Bilgisayar belleğindeki tüm sayılar ikili biçimde saklanır, yani. 0'lar ve 1'ler dizisi olarak. Sayıları bilgisayar belleğinde depolamak için sınırlı sayıda bit kullanılır. Bu sayı nedeniyle bilgisayarın sınırlı bir aralığı vardır ve hesaplama sonuçları yanlış olabilir. Bir tamsayı, 8, 16, 32 veya 64 bit bellekte saklanabilir. Her ek bit, olası değer aralığını 2 artırır. 
İşlemcide pozitif ve negatif sayılarla işlemler aynı algoritmalar kullanılarak gerçekleştirilir.

Bit düzeyinde mantıksal işlemlerin yardımıyla, işlemci ve harici aygıtların kayıtlarının ayrı ayrı bitlerini kontrol edebilirsiniz. 
  a ve b için a ve b için a ve b için için bit ters çevirme konumuna bit düzeyinde kaydırma konumuna bit düzeyinde sağa kaydırması



VE
işlemi "AND" işlemini kullanarak maskenin 0 olduğu bitleri sıfırlayabilirsiniz (sıfıra ayarlayabilirsiniz)! 
 
Maske – çok bitli bir sayının bitleri üzerindeki mantıksal işlemin kapsamını tanımlayan bir sabit.

D - veri, M - maske

 

VEYA
işlemi "OR" işlemi, maskenin 1 olduğu bitlere 1 yazmak için kullanılabilir!

 

özel VEYA
işlemi "XOR" işlemini kullanarak, maskesi 1 olan bitleri ters çevirebilirsiniz!


 

Sola Kaydır
Mantıksal (bit düzeyinde) 1'lik sola kaydırma bir pozitif tamsayıyı ikiye katlar.

 

Sağa Kaydır
Boolean (bitsel) .sağa 1 kaydır  pozitif bir tam sayıyı 2'ye böler.


Sağa kaydırma, işaret bitini boş konumlara ayarladığından, x'in işareti, değişkenin tüm uzunluğu boyunca sağa kaydırılarak belirlenebilir.

C++ işlemi Hedef
a & b Bitsel And
bir | b Bitsel OR
a ^ b OR
~a a
bir << b a öğesinin solundan b
a >> b a öğesinin b