logo

C'de Bitsel Operatör

Bitsel operatörler, veri üzerinde bit düzeyindeki işlemleri gerçekleştirmek için kullanılan operatörlerdir. Bitsel işlemleri yaptığımızda buna bit düzeyinde programlama da denir. 0 veya 1 olmak üzere iki rakamdan oluşur. Esas olarak sayısal hesaplamalarda hesaplamaları daha hızlı yapmak için kullanılır.

C programlama dilinde farklı türde bitsel operatörlerimiz vardır. Bitsel operatörlerin listesi aşağıdadır:

Şebeke operatörün anlamı
& Bitsel VE operatörü
| Bitsel VEYA operatörü
^ Bit bazında özel VEYA operatörü
~ Birin tümleyen operatörü (tekli operatör)
<< Sola kaydırma operatörü
>> Sağa kaydırma operatörü

Bitsel operatörlerin doğruluk tablosuna bakalım.

X VE X&Y X|Y X^Y
0 0 0 0 0
0 1 0 1 1
1 0 0 1 1
1 1 1 1 1

Bitsel VE operatörü

Bitsel AND operatörü tek ve işareti (&) ile gösterilir. (&) operatörünün her iki tarafına iki tam sayı işleneni yazılır. Her iki işlenenin karşılık gelen bitleri 1 ise, bit düzeyinde VE işleminin çıkışı 1'dir; aksi halde çıktı 0 olacaktır.

Örneğin,

 We have two variables a and b. a =6; b=4; The binary representation of the above two variables are given below: a = 0110 b = 0100 When we apply the bitwise AND operation in the above two variables, i.e., a&amp;b, the output would be: Result = 0100 

Yukarıdaki sonuçtan da görebileceğimiz gibi, her iki değişkenin bitleri tek tek karşılaştırılır. Her iki değişkenin biti 1 ise çıktı 1, aksi halde 0 olur.

Bitsel AND operatörünü program üzerinden anlayalım.

 #include int main() { int a=6, b=14; // variable declarations printf(&apos;The output of the Bitwise AND operator a&amp;b is %d&apos;,a&amp;b); return 0; } 

Yukarıdaki kodda iki değişken oluşturduk, yani 'a' ve 'b'. 'a' ve 'b' değerleri sırasıyla 6 ve 14'tür. 'a' ve 'b'nin ikili değeri sırasıyla 0110 ve 1110'dur. Bu iki değişken arasına AND operatörünü uyguladığımızda,

a VE b = 0110 && 1110 = 0110

ağaç ve grafik teorisi

Çıktı

C'de Bitsel Operatör

Bitsel VEYA operatörü

Bit düzeyinde VEYA operatörü tek bir dikey işaretle (|) temsil edilir. (|) sembolünün her iki tarafına da iki tamsayı işlenen yazılır. İşlenenlerden herhangi birinin bit değeri 1 ise çıkış 1, aksi halde 0 olacaktır.

java koleksiyonları java

Örneğin,

 We consider two variables, a = 23; b = 10; The binary representation of the above two variables would be: a = 0001 0111 b = 0000 1010 When we apply the bitwise OR operator in the above two variables, i.e., a|b , then the output would be: Result = 0001 1111 

Yukarıdaki sonuçtan da görüleceği üzere her iki işlenenin bitleri tek tek karşılaştırılmıştır; Bitlerden herhangi birinin değeri 1 ise çıkış 1, aksi halde 0 olacaktır.

Bitsel OR operatörünü bir program aracılığıyla anlayalım.

 #include int main() int a=23,b=10; // variable declarations printf(&apos;The output of the Bitwise OR operator a 

Çıktı

C'de Bitsel Operatör

Bit bazında özel VEYA operatörü

Bit bazında özel VEYA operatörü (^) sembolüyle gösterilir. Dışlayıcı OR operatörünün her iki tarafına iki işlenen yazılır. İşlenenlerden herhangi birinin karşılık gelen biti 1 ise çıktı 1, aksi takdirde 0 olur.

Örneğin,

 We consider two variables a and b, a = 12; b = 10; The binary representation of the above two variables would be: a = 0000 1100 b = 0000 1010 When we apply the bitwise exclusive OR operator in the above two variables (a^b), then the result would be: Result = 0000 1110 

Yukarıdaki sonuçtan da görüleceği üzere her iki işlenenin bitleri tek tek karşılaştırılmıştır; işlenenlerden herhangi birinin karşılık gelen bit değeri 1 ise çıkış 1, aksi halde 0 olacaktır.

Bitsel özel VEYA operatörünü bir program aracılığıyla anlayalım.

 #include int main() { int a=12,b=10; // variable declarations printf(&apos;The output of the Bitwise exclusive OR operator a^b is %d&apos;,a^b); return 0; } 

Çıktı

C'de Bitsel Operatör

Bitsel tamamlayıcı operatörü

Bit bazında tamamlayıcı operatörü aynı zamanda kişinin tümleyen operatörü olarak da bilinir. Yaklaşık işareti (~) ile temsil edilir. Yalnızca bir işlenen veya değişken alır ve bir işlenen üzerinde tamamlayıcı işlemi gerçekleştirir. Tümleyen işlemini herhangi bir bit üzerinde uyguladığımızda 0, 1 olur ve 1, 0 olur.

Örneğin,

java'daki oops kavramları
 If we have a variable named &apos;a&apos;, a = 8; The binary representation of the above variable is given below: a = 1000 When we apply the bitwise complement operator to the operand, then the output would be: Result = 0111 

Yukarıdaki sonuçtan da görebileceğimiz gibi, bit 1 ise 0, aksi halde 1 olarak değiştirilir.

Tümleyen operatörünü bir program aracılığıyla anlayalım.

 #include int main() { int a=8; // variable declarations printf(&apos;The output of the Bitwise complement operator ~a is %d&apos;,~a); return 0; } 

Çıktı

C'de Bitsel Operatör

Bitsel kaydırma operatörleri

C programlamada iki tür bitsel kaydırma operatörü vardır. Bitsel kaydırma operatörleri, bitleri sol tarafa veya sağ tarafa kaydırır. Dolayısıyla bitsel kaydırma operatörünün iki kategoriye ayrıldığını söyleyebiliriz:

  • Sola kaydırma operatörü
  • Sağa kaydırma operatörü

Sola kaydırma operatörü

Bit sayısını sola kaydıran bir operatördür.

Sola kaydırma operatörünün sözdizimi aşağıda verilmiştir:

 Operand &lt;&lt; n 

Nerede,

İşlenen, sola kaydırma işlemini uyguladığımız bir tamsayı ifadesidir.

piton yapıcısı

n kaydırılacak bit sayısıdır.

Sola kaydırma operatörü durumunda 'n' bitler sol tarafa kaydırılacaktır. Sol taraftaki 'n' bitleri dışarı atılacak ve sağ taraftaki 'n' bitleri 0 ile doldurulacaktır.

Örneğin,

 Suppose we have a statement: int a = 5; The binary representation of &apos;a&apos; is given below: a = 0101 If we want to left-shift the above representation by 2, then the statement would be: a &lt;&lt; 2; 0101&lt;<2 = 00010100 < pre> <p> <strong>Let&apos;s understand through a program.</strong> </p> <pre> #include int main() { int a=5; // variable initialization printf(&apos;The value of a&lt;<2 is : %d ', a<<2); return 0; } < pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/c-tutorial/51/bitwise-operator-c-5.webp" alt="Bitwise Operator in C"> <p> <strong>Right-shift operator</strong> </p> <p>It is an operator that shifts the number of bits to the right side.</p> <p> <strong>Syntax of the right-shift operator is given below:</strong> </p> <pre> Operand &gt;&gt; n; </pre> <p> <strong>Where,</strong> </p> <p>Operand is an integer expression on which we apply the right-shift operation.</p> <p>N is the number of bits to be shifted.</p> <p>In the case of the right-shift operator, &apos;n&apos; bits will be shifted on the right-side. The &apos;n&apos; bits on the right-side will be popped out, and &apos;n&apos; bits on the left-side are filled with 0.</p> <p> <strong>For example, </strong> </p> <pre> Suppose we have a statement, int a = 7; The binary representation of the above variable would be: a = 0111 If we want to right-shift the above representation by 2, then the statement would be: a&gt;&gt;2; 0000 0111 &gt;&gt; 2 = 0000 0001 </pre> <p> <strong>Let&apos;s understand through a program.</strong> </p> <pre> #include int main() { int a=7; // variable initialization printf(&apos;The value of a&gt;&gt;2 is : %d &apos;, a&gt;&gt;2); return 0; } </pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/c-tutorial/51/bitwise-operator-c-6.webp" alt="Bitwise Operator in C"> <hr></2></pre></2>

Nerede,

İşlenen, sağa kaydırma işlemini uyguladığımız bir tamsayı ifadesidir.

N kaydırılacak bit sayısıdır.

Sağa kaydırma operatörü durumunda 'n' bitler sağ tarafa kaydırılacaktır. Sağ taraftaki 'n' bitleri dışarı fırlayacak ve sol taraftaki 'n' bitleri 0 ile doldurulacak.

Örneğin,

 Suppose we have a statement, int a = 7; The binary representation of the above variable would be: a = 0111 If we want to right-shift the above representation by 2, then the statement would be: a&gt;&gt;2; 0000 0111 &gt;&gt; 2 = 0000 0001 

Bir program aracılığıyla anlayalım.

 #include int main() { int a=7; // variable initialization printf(&apos;The value of a&gt;&gt;2 is : %d &apos;, a&gt;&gt;2); return 0; } 

Çıktı

C'de Bitsel Operatör