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

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

ऑपरेटर नाम वर्णन
& 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);
}

स्वयं प्रयोग करें