JavaScript Bitwise Operatörleri (Örneklerle)

Bu eğiticide, JavaScript bitsel operatörleri ve türleri hakkında örnekler yardımıyla öğreneceksiniz.

JavaScript Bitwise Operatörleri

Bitsel operatörler, işlenenlerini 32 bitlik ikili rakamlar (sıfırlar ve birler) kümesi olarak görür ve eylemler gerçekleştirir. Ancak, sonuç ondalık bir değer olarak gösterilir.

Operatörler İsim Misal
& Bitsel AND x & y
| Bit tabanlı VEYA x | y
^ Bitsel ÖZELVEYA x y
~ Bitsel DEĞİL ~x
<< Sol shift x << y
>> İşaret yayan sağa kaydırma x>> y
>>> Sıfır dolgulu sağa kaydırma x>>> y

Not : 32 bitlik işaretli bir sayı ile gösterilebilen minimum ve maksimum tam sayılar -2147483648 ile 2147483647 arasındadır.

JavaScript Bitwise VE

Bit ve &döner 1 hem de işlenen karşılık gelen bit ise 1 başka döndürür 0 .

Operand 1 Operand 2 VE Operasyon
0 0 0 & 0ise 0
0 1 0 & 1ise 0
1 0 1 & 0ise 0
1 1 1 & 1olduğu 1

12 ve 25 numaralı iki tam sayının bitsel AND işlemine bir göz atalım .

 İkili olarak, 12 = 01100 25 = 11001 // Bitsel VE 12 ve 25'in İşlemi 00001100 & 00011001 --------- 00001000 = 8 (Ondalık olarak)

Not : 12'yi 32-bit ikiliye dönüştürmek bize 00000000000000000000000000001100ve 25 verir 00000000000000000000000000011001. Ancak, basit olması için önceki sıfırları kaldırdık.

Örnek 1: Bitsel AND İşleci

 // bitwise AND operator example let a = 12; let b = 25; result = a & b; console.log(result); // 8 

Yukarıdaki programda,

  • İkili değeri 12 olan00000000000000000000000000001100
  • İkili değeri 25 olduğunu 00000000000000000000000000011001.
  • Bitsel VE işlemi gerçekleştirildiğinde, ikili sonuç, 000000000000000000000000000010008 numaralı ondalık değere dönüşür.

JavaScript Bitwise VEYA

Bit düzey veya |döner 1 bir terimin karşılık gelen bit ise ya 1 başka döner 0 .

Operand 1 Operand 2 OR Operasyonu
0 0 0 | 0ise 0
0 1 0 | 1olduğu 1
1 0 1 | 0olduğu 1
1 1 1 | 1olduğu 1

İki tam sayı 12 ve 25'in bitsel OR işlemine bir göz atalım .

İkili olarak, 12 = 01100 25 = 11001 // Bitsel VEYA 12 ve 25 için İşlem 00001100 | 00011001 -------- 00011101 = 29 (Ondalık olarak)

Örnek 2: Bitsel VEYA Operatörü

 // bitwise OR operator example let a = 12; let b = 25; result = a | b; console.log(result); // 29

Bitsel VEYA işlemi gerçekleştirildiğinde, ikili sonuç, 0000000000000000000000000001110129 ondalık değerine dönüşür.

JavaScript Bitwise XOR

Bit-bazında XOR ^döner 1 karşılık gelen bit farklı olduğunda ve döner 0 karşılık gelen bit aynı ise.

Operand 1 Operand 2 XOR İşlemi
0 0 0 0ise 0
0 1 0 1olduğu 1
1 0 1 0olduğu 1
1 1 1 1ise 0
 İkili olarak, 12 = 01100 25 = 11001 // 12 ve 25'in Bitsel XOR İşlemi 00001100 00011001 -------- 00010101 = 21 (Ondalık olarak)

Örnek 3: Bitsel XOR Operatörü

 // bitwise XOR operator example let a = 12; let b = 25; result = a b; console.log(result); // 21

Bitsel XOR işlemi gerçekleştirildiğinde, ikili sonuç 0000000000000000000000000001010121 ondalık değerine dönüşür.

JavaScript Bitwise NOT

Bit değil ~bit (ters çevirir 0 olur 1 , 1 olur 0 ).

 İkili olarak, 12 = 00000000000000000000000000001100 // Bitsel Değil İşlemi 12 ~ 00000000000000000000000000001100 --------------------------------- 11111111111111111111111111110011 = -13 (ondalık olarak)

Ondalığa dönüştürürken 11111111111111111111111111110011, değer 4294967283 olacaktır. Ancak bitsel operatör kullanılırken, değer sıfır dolgulu sağa kaydırma haricinde işaretli 2'nin tümleyen biçiminde hesaplanır.

2'nin tamamlayıcısı, bitlerin ters çevrilmesi (1'in tümleyicisi) ve ardından 1'in eklenmesiyle hesaplanır . Örneğin,

 13 in binary: 00000000000000000000000000001101 1's complement of 13: 11111111111111111111111111110010 2's complement of 13: 11111111111111111111111111110010 +1 --------------------------------- 11111111111111111111111111110011

Notice the 2's complement of 13 (i.e. -13) is 11111111111111111111111111110011. This value is equivalent to the bitwise NOT of 12.

Example 4: Bitwise NOT Operator

 // bitwise NOT operator example let b = 12; result = ~b; console.log(result); // -13

When bitwise NOT operation is performed, the binary result will be 11111111111111111111111111110011 which converts into the decimal value -13.

Note: Bitwise NOT of a number x gives -(x + 1). Notice above ~2 gives -3.

JavaScript Left shift

Sol kaydırma operatöründe <<, soldaki işlenen sayıyı ve sağ işlenen sola kaydırılacak sayıyı belirtir. Sağa sıfır bitler eklenir ve soldan fazla bitler atılır.

JavaScript'te bir bit sola kaydırma

Örneğin,

 let a = 8; let b = 1; result = a << b; // 1 ( 00000000000000000000000000010000 ) console.log(result);

JavaScript Sign-propagating right shift

Sağ kaydırma operatöründe >>, ilk işlenen sayıyı, ikinci işlenen ise sağa kaydırılacak sayıyı belirtir. Sağdaki fazla bitler atılır. En soldaki bitin kopyaları soldan kaydırılır, dolayısıyla isim işareti yayılır.

JavaScript'te işaret yayan dolgulu bir bit sağa kaydırma

Örneğin,

 let a = 8; let b = 1; // 11111111111111111111111111111101 let c = -3; result = a>> b; result1 = c>> b; // 4 (00000000000000000000000000000100) console.log(result); // -1 (11111111111111111111111111111111) console.log(result1); 

JavaScript Sıfır doldurma sağa kaydırma

Sıfır dolgulu sağa kaydırma >>>, sıfır bitleri sola doldurarak işleneni sağa kaydırır. Sağdaki fazla bitler atılır.

JavaScript'te sıfır dolgulu bir bit sağa kaydırma

Örneğin,

 let a = 8; let b = 1; let c = -3; result = a>>> b; result1 = c>>> b; // 4 (00000000000000000000000000000100) console.log(result); // 1073741823 (00111111111111111111111111111111) console.log(result);

Ilginç makaleler...