बिटवाइज़ ऑपरेटर्स
बिटवाइज़ ऑपरेटर्स 32-बिट इंटीजर्स के व्यक्तिगत बिट्स पर काम करते हैं।
1. बिटवाइज़ AND (&)
दोनों बिट्स 1 होने पर ही 1 देता है।
<html> <body> <p id="demo"></p> <script>
document.getElementById("demo").innerHTML = 13 & 1;
</script> </body> </html>
आउटपुट
1
व्याख्या
13: 1101
1: 0001
& ---------
0001 = 1
2. बिटवाइज़ OR (|)
कम से कम एक बिट 1 होने पर 1 देता है। नोट: मूल कोड में || (लॉजिकल OR) लिखा था, सही बिटवाइज़ OR | है।
<script> // सही बिटवाइज़ OR console.log(5 | 1); // 5 (0101 | 0001 = 0101) // लॉजिकल OR (मूल कोड में था) console.log(5 || 1); // 5 (पहला ट्रूथी मान लौटाता है) </script>
आउटपुट (बिटवाइज़ OR)
5
व्याख्या
5: 0101
1: 0001
| ---------
0101 = 5
3. बिटवाइज़ XOR (^)
बिट्स अलग होने पर 1, समान होने पर 0 देता है।
<html> <body> <p id="demo"></p> <script>
document.getElementById("demo").innerHTML = 5 ^ 1;
</script> </body> </html>
आउटपुट
4
व्याख्या
5: 0101
1: 0001
^ ---------
0100 = 4
सत्यता तालिका
| a | b | a & b | a | b | a ^ b |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |
व्यावहारिक उपयोग
&- बिट मास्किंग, फ्लैग्स चेक करना, सम/विषम जांच (n & 1)|- फ्लैग्स सेट करना, बिट्स जोड़ना^- टॉगल करना, स्वैप करना (बिना टेम्प वेरिएबल), चेकसम
स्वैप उदाहरण (XOR स्वैप)
<script> var a = 5, b = 3; a = a ^ b; // a = 6 b = a ^ b; // b = 5 a = a ^ b; // a = 3 // अब a=3, b=5 </script>