जावास्क्रिप्ट बिटवे ऑपरेटर्स (उदाहरणों के साथ)

इस ट्यूटोरियल में, आप उदाहरणों की सहायता से जावास्क्रिप्ट बिटवाइज़ ऑपरेटरों और इसके प्रकारों के बारे में जानेंगे।

जावास्क्रिप्ट बिटवाइज ऑपरेटर्स

बिटवाइज़ ऑपरेटर अपने ऑपरेंड को 32-बिट बाइनरी अंकों (शून्य और वाले) के सेट के रूप में मानते हैं और कार्रवाई करते हैं। हालाँकि, परिणाम को दशमलव मान के रूप में दिखाया गया है।

संचालक नाम उदाहरण
& बिटवाइज़ और x & y
| बिटवार या x | y
^ बिटवाइज़ XOR x y
~ बिटवाइज़ नहीं ~x
<< बायां शिफ्ट x << y
>> साइन-प्रोपेगेटिंग राइट शिफ्ट x>> y
>>> जीरो-फिल राइट शिफ्ट x>>> y

नोट : न्यूनतम और अधिकतम पूर्णांक जो 32-बिट हस्ताक्षरित संख्या के माध्यम से प्रतिनिधित्व करने योग्य हैं, -2147483648 से 2147483647 हैं।

जावास्क्रिप्ट बिटवाइड और

बिटवाइंड और &रिटर्न 1 यदि दोनों ऑपरेंड के संबंधित बिट्स 1 हैं तो यह 0 देता है ।

संचालक १ संचालक २ और ऑपरेशन
0 & 0है 0
1 है 0 & 1है 0
1 है 1 & 0है 0
1 है 1 है 1 & 1है 1

आइए दो पूर्णांक 12 और 25 के बिटवाइज़ और ऑपरेशन पर एक नज़र डालें ।

 बाइनरी में, 12 = 01100 25 = 11001 // बिटवाइज और 12 और 25 00001100 का संचालन और 00011001 --------- 00001000 = 8 (दशमलव में)

नोट : 12 से 32-बिट बाइनरी को परिवर्तित करना हमें 00000000000000000000000000001100और 25 को देता है 00000000000000000000000000011001। हालांकि, हमने सादगी के लिए पूर्ववर्ती शून्य को हटा दिया है।

उदाहरण 1: बिटवाइज़ और ऑपरेटर

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

उपरोक्त कार्यक्रम में,

  • 12 का बाइनरी मान है00000000000000000000000000001100
  • 25 का बाइनरी मान है 00000000000000000000000000011001
  • जब बिटवाइज़ और ऑपरेशन किया जाता है, तो बाइनरी परिणाम होगा 00000000000000000000000000001000जो दशमलव मान 8 में परिवर्तित हो जाता है।

जावास्क्रिप्ट बिटवार OR

बिटवाइज या |रिटर्न 1 यदि किसी ऑपरेंड के संबंधित बिट्स में से कोई 1 है तो रिटर्न 0 है

संचालक १ संचालक २ या ऑपरेशन
0 | 0है 0
1 है 0 | 1है 1
1 है 1 | 0है 1
1 है 1 है 1 | 1है 1

आइए दो पूर्णांक 12 और 25 के बिटवाइज़ या ऑपरेशन पर एक नज़र डालें ।

बाइनरी में, 12 = 01100 25 = 11001 // बिटवाइज़ या ऑपरेशन ऑफ़ 12 और 25 00001100 | 00011001 -------- 00011101 = 29 (दशमलव में)

उदाहरण 2: बिटवाइज़ या ऑपरेटर

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

जब बिटवाइज या ऑपरेशन किया जाता है, तो बाइनरी परिणाम होगा 00000000000000000000000000011101जो दशमलव मान 29 में परिवर्तित हो जाता है।

जावास्क्रिप्ट बिटवार XOR

बिटवाइज़ XOR ^रिटर्न 1 अगर इसी बिट्स अलग हैं और रिटर्न 0 अगर इसी बिट्स ही हैं।

संचालक १ संचालक २ एक्सओआर ऑपरेशन
0 0है 0
1 है 0 1है 1
1 है 1 0है 1
1 है 1 है 1 1है 0
 बाइनरी में, 12 = 01100 25 = 11001 // बिटवाइज XOR ऑपरेशन 12 और 25 00001100 00011001 -------- 00010101 = 21 (दशमलव में)

उदाहरण 3: बिटवाइज़ XOR ऑपरेटर

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

जब बिटवाइज़ XOR ऑपरेशन किया जाता है, तो बाइनरी परिणाम होगा 00000000000000000000000000010101जो दशमलव मान 21 में परिवर्तित हो जाता है।

जावास्क्रिप्ट बिटवाइज़ नहीं

Bitwise NOT ~ inverts the bit( 0 becomes 1, 1 becomes 0).

 In binary, 12 = 00000000000000000000000000001100 // Bitwise Not Operation of 12 ~ 00000000000000000000000000001100 --------------------------------- 11111111111111111111111111110011 = -13(In decimal)

While converting 11111111111111111111111111110011 to decimal, the value would be 4294967283. But when using bitwise operator, the value is computed in signed 2's complement format except for zero-fill right shift.

2's complement is computed by inverting the bits(1's complement) and then adding 1. For example,

 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

लेफ्ट शिफ्ट ऑपरेटर में <<, लेफ्ट ऑपरेंड संख्या को निर्दिष्ट करता है और राइट ऑपरेंड नंबर को बाईं ओर शिफ्ट करने के लिए निर्दिष्ट करता है। शून्य बिट दाईं ओर जोड़े जाते हैं और बाईं ओर से अतिरिक्त बिट्स को छोड़ दिया जाता है।

जावास्क्रिप्ट में एक बिट बाएं बदलाव

उदाहरण के लिए,

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

जावास्क्रिप्ट साइन-प्रसार सही पारी

राइट शिफ्ट ऑपरेटर में >>, पहला ऑपरेंड संख्या निर्दिष्ट करता है और दूसरा ऑपरेंड सही स्थानांतरित होने वाली संख्या निर्दिष्ट करता है। सही से अतिरिक्त बिट्स को छोड़ दिया जाता है। सबसे बाईं ओर की प्रतियां बाईं ओर से स्थानांतरित की जाती हैं, इसलिए नाम पर हस्ताक्षर-प्रचार होता है।

जावास्क्रिप्ट में साइन प्रोपगेटिंग फिल के साथ एक बिट राइट शिफ्ट

उदाहरण के लिए,

 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); 

जावास्क्रिप्ट शून्य-भरण दायाँ शिफ्ट

शून्य-भरण दाएं बदलाव शून्य से बाईं ओर भरकर >>>ऑपरेटर को दाईं ओर स्थानांतरित करता है। सही से अतिरिक्त बिट्स को छोड़ दिया जाता है।

जावास्क्रिप्ट में शून्य भरण के साथ एक बिट सही बदलाव

उदाहरण के लिए,

 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);

दिलचस्प लेख...