जावास्क्रिप्ट बिट ऑपरेटर
- पिछला पृष्ठ JS डिस्ट्रक्चर
- अगला पृष्ठ JS रेगुलर एक्सप्रेशन
जावास्क्रिप्ट बिट ऑपरेटर
ऑपरेटर | नाम | वर्णन |
---|---|---|
& | AND | यदि दो स्थानों दोनों 1 हैं तो हर स्थान को 1 सेट करें |
| | OR | यदि दो स्थानों में से किसी एक 1 है तो हर स्थान को 1 सेट करें |
^ | XOR | यदि दो स्थानों में से केवल एक 1 है तो हर स्थान को 1 सेट करें |
~ | NOT | सभी स्थानों को उल्टा करें |
<< | शून्य से भरे बाईं तरफ स्थानांतरण | दायां तरफ से शून्य को घुसाकर बाईं तरफ स्थानांतरण करके, और सबसे बाईं तरफ का पहला स्थान को हटा दें। |
>> | सिग्नेड दायां तरफ स्थानांतरण | बाईं तरफ से सबसे बाईं तरफ की कॉपी को घुसाकर दायां तरफ स्थानांतरण करके, और सबसे दायां तरफ का अंतिम स्थान को हटा दें। |
>>> | शून्य से भरे दायां तरफ स्थानांतरण | बाईं तरफ से शून्य को घुसाकर दायां तरफ स्थानांतरण करके, और सबसे दायां तरफ का अंतिम स्थान को हटा दें। |
इंस्टांस
ऑपरेशन | परिणाम | समान है | परिणाम |
---|---|---|---|
5 & 1 | 1 | 0101 & 0001 | 0001 |
5 | 1 | 5 | 0101 | 0001 | 0101 |
5 ^ 1 | 4 | 0101 ^ 0001 | 0100 |
~ 5 | 10 | ~0101 | 1010 |
5 << 1 | 10 | 0101 << 1 | 1010 |
5 >> 1 | 2 | 0101 >> 1 | 0010 |
5 >>> 1 | 2 | 0101 >>> 1 | 0010 |
जावास्क्रिप्ट 32 बिट बिट ऑपरेशन संख्या का इस्तेमाल करता है
जावास्क्रिप्ट 64 बिट फ्लॉटिंग पॉइंट संख्या को संग्रहीत करता है, लेकिन सभी बिट ऑपरेशन 32 बिट बाइनरी संख्या के रूप में किये जाते हैं。
बिट ऑपरेशन करने से पहले, जावास्क्रिप्ट संख्या को 32 बिट सिग्नेड इंटीजर्स में बदल देता है。
बिट ऑपरेशन करने के बाद, परिणाम 64 बिट जावास्क्रिप्ट संख्या में बदल जाएगा。
ऊपरी उदाहरण 4 बिट अनसिग्नेड बाइनरी संख्या का इस्तेमाल करता है। इसलिए ~ 5 10 वापस करेगा。
क्योंकि जावास्क्रिप्ट 32 बिट सिग्नेड इंटीजर्स का इस्तेमाल करता है, जावास्क्रिप्ट -6 वापस करेगा。
00000000000000000000000000000101 (5)
11111111111111111111111111111010 (~5 = -6)
सिग्नेड इंटीजर्स अपने सबसे बाईं बिट को मिनस स्थान के रूप में इस्तेमाल करते हैं。
बिट ऑपरेशन एण्ड
जब एक जोड़े बिटों पर बिट ऑपरेशन एण्ड (AND) किया जाता है, तो यदि सभी बिट 1 हैं तो 1 वापस किया जाएगा。
एकाई उदाहरण:
ऑपरेशन | परिणाम |
---|---|
0 & 0 | 0 |
0 & 1 | 0 |
1 & 0 | 0 |
1 & 1 | 1 |
चार बिट का उदाहरण:
ऑपरेशन | परिणाम |
---|---|
1111 & 0000 | 0000 |
1111 & 0001 | 0001 |
1111 & 0010 | 0010 |
1111 & 0100 | 0100 |
बिट ऑपरेशन ऑर
जब एक जोड़े बिटों पर बिट ऑपरेशन ऑर (OR) किया जाता है, तो यदि किसी एक का स्थान 1 है तो 1 वापस किया जाएगा:
एकाई उदाहरण
ऑपरेशन | परिणाम |
---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
चार बिट ऑपरेशन:
ऑपरेशन | परिणाम |
---|---|
1111 | 0000 | 1111 |
1111 | 0001 | 1111 |
1111 | 0010 | 1111 |
1111 | 0100 | 1111 |
बिट ऑपरेशन एक्सओर
जब एक जोड़े बिटों पर बिट ऑपरेशन एक्सओर (XOR) किया जाता है, तो यदि बिट के स्थान अलग हैं तो 1 वापस किया जाएगा:
एकाई उदाहरण:
ऑपरेशन | परिणाम |
---|---|
0 ^ 0 | 0 |
0 ^ 1 | 1 |
1 ^ 0 | 1 |
1 ^ 1 | 0 |
चार बिट का उदाहरण:
ऑपरेशन | परिणाम |
---|---|
1111 ^ 0000 | 1111 |
1111 ^ 0001 | 1110 |
1111 ^ 0010 | 1101 |
1111 ^ 0100 | 1011 |
जावास्क्रिप्ट बिट ऑपरेशन एण्ड (&)
यदि बिट के सभी स्थान 1 हैं, तो बिट ऑपरेशन एण्ड का परिणाम 1 होगा:
दशांश | द्विपद |
---|---|
5 | 00000000000000000000000000000101 |
1 | 00000000000000000000000000000001 |
5 & 1 | 00000000000000000000000000000001 (1) |
इंस्टांस
वार एक्स = 5 & 1;
जावास्क्रिप्ट बिट ऑपरेशन ऑर (|)
यदि किसी संख्याकांक 1 है, तो बिट संचार OR वापस 1 देता है:
दशांश | द्विपद |
---|---|
5 | 00000000000000000000000000000101 |
1 | 00000000000000000000000000000001 |
5 | 1 | 00000000000000000000000000000101 (5) |
इंस्टांस
var x = 5 | 1;
JavaScript बिट संचार XOR (^)
यदि संख्याकांक अलग हैं, तो XOR वापस 1 देता है:
दशांश | द्विपद |
---|---|
5 | 00000000000000000000000000000101 |
1 | 00000000000000000000000000000001 |
5 ^ 1 | 00000000000000000000000000000100 (4) |
इंस्टांस
var x = 5 ^ 1;
JavaScript बिट संचार NOT (~)
दशांश | द्विपद |
---|---|
5 | 00000000000000000000000000000101 |
~5 | 11111111111111111111111111111010 (-6) |
इंस्टांस
var x = ~5;
JavaScript (शून्य से भरा) बाईं पलटना (<<)
यह शून्य से भरे बाईं पलटना है। एक या अधिक शून्य संख्याकांक दायाँ ओर से घुसाया जाता है, सबसे बाईं का संख्याकांक हट जाता है:
दशांश | द्विपद |
---|---|
5 | 00000000000000000000000000000101 |
5 << 1 | 00000000000000000000000000001010 (10) |
इंस्टांस
var x = 5 << 1;
JavaScript (संगत) बिट संचार (>>)
यह संगत संख्या को बनाए रखने वाला पलटना है। सबसे डावीं का संख्याकांक डावीं ओर से घुसाया जाता है, सबसे दायाँ का संख्याकांक बाहर हो जाता है:
दशांश | द्विपद |
---|---|
-5 | 11111111111111111111111111111011 |
-5 >> 1 | 11111111111111111111111111111101 (-3) |
इंस्टांस
var x = -5 >> 1;
JavaScript (शून्य से भरा) दायाँ पलटना (>>>)
यह शून्य से भरे दायाँ पलटना है। एक या अधिक शून्य संख्याकांक डावीं ओर से घुसाया जाता है, सबसे दायाँ का संख्याकांक बाहर हो जाता है:
दशांश | द्विपद |
---|---|
5 | 00000000000000000000000000000101 |
5 >>> 1 | 00000000000000000000000000000010 (2) |
इंस्टांस
var x = 5 >>> 1;
32-bit संगत पूर्णांक (द्विपद)
सिर्फ एक स्थान के 32 बिट का पूर्णांक सोचना बहुत सहज है:
द्विपदांश प्रतिनिधित्व | दशांश मूल्य |
---|---|
00000000000000000000000000000001 | 1 |
00000000000000000000000000000010 | 2 |
00000000000000000000000000000100 | 4 |
00000000000000000000000000001000 | 8 |
00000000000000000000000000010000 | 16 |
00000000000000000000000000100000 | 32 |
00000000000000000000000001000000 | 64 |
अधिक संख्या वाले स्थानों को सेट करने से द्विपदांश मॉडल का पैटर्न दिखाई देता है:
द्विपदांश प्रतिनिधित्व | दशांश मूल्य |
---|---|
00000000000000000000000000000101 | 5 (4 + 1) |
00000000000000000000000000101000 | 40 (32 + 8) |
00000000000000000000000000101101 | 45 (32 + 8 + 4 + 1) |
नकारात्मक संख्या एक सकारात्मक संख्या के द्विपदांश पूरक को 1 के साथ जोड़ने से बनाई जाती है:
द्विपदांश प्रतिनिधित्व | दशांश मूल्य |
---|---|
00000000000000000000000000000101 | 5 |
11111111111111111111111111111011 | -5 |
00000000000000000000000000101000 | 40 |
11111111111111111111111111011000 | -40 |
11111111111111111111111111011001 | -41 |
दशांश को द्विपदांश में बदलें
इंस्टांस
function dec2bin(dec){ return (dec >>> 0).toString(2); }
द्वारा द्विपदांश को दशांश में बदलें
इंस्टांस
function bin2dec(bin){ return parseInt(bin, 2).toString(10); }
- पिछला पृष्ठ JS डिस्ट्रक्चर
- अगला पृष्ठ JS रेगुलर एक्सप्रेशन