1. बिटवाइज़ &
ऑपरेटर
हमने पहले कहा था कि सभी डेटा को बाइनरी प्रतिनिधित्व में मेमोरी में संग्रहीत किया जाता है। तो काफी समय पहले, प्रोग्रामर बाइनरी नंबरों के साथ काम करने के लिए बहुत सारे दिलचस्प तरीके लेकर आए थे। उदाहरण के लिए, जावा में तार्किक ऑपरेटर हैं जो किसी संख्या के द्विआधारी प्रतिनिधित्व के बिट्स पर काम करते हैं: &
(AND), | (OR)
, ~
(NOT या पूरक) और ^
(XOR - अनन्य या)।
a & b
&
(और) ऑपरेटर
यह ऑपरेटर तार्किक (AND) ऑपरेटर के समान है &
, केवल इसे एक एम्परसेंड द्वारा निरूपित किया जाता है, दो नहीं:
और इसे अलग-अलग बिट्स पर लागू किया जाता है। प्रत्येक ऑपरेंड को बिट्स की एक सरणी के रूप में माना जाता है, और i
परिणाम के वें बिट की गणना i
दो ऑपरेंडों में से प्रत्येक के वें बिट का उपयोग करके की जाती है।
परिणाम के पहले बिट की गणना संख्या के पहले बिट a
और संख्या के पहले बिट के आधार पर b
की जाएगी, दूसरा बिट - संख्या के दूसरे बिट a
और संख्या के दूसरे बिट के आधार पर b
, आदि ।
( &
AND) ऑपरेटर का अर्थ है "परिणामस्वरूप बिट केवल एक के बराबर होता है यदि संख्या का संगत बिट a
एक के बराबर होता है तो AND
संख्या का संगत बिट b
एक के बराबर होता है":
1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0
उदाहरण:
उदाहरण | परिणाम |
---|---|
|
|
|
|
|
|
|
|
2. बिटवाइज़ |
ऑपरेटर
यह ऑपरेटर लॉजिकल (OR) ऑपरेटर के समान है |
, केवल इसे एक लंबवत रेखा से दर्शाया जाता है, दो नहीं:
a | b
और इसे अलग-अलग बिट्स पर लागू किया जाता है। प्रत्येक ऑपरेंड को बिट्स की एक सरणी के रूप में माना जाता है, और परिणाम के iवें बिट की गणना दो ऑपरेंडों में से प्रत्येक के iवें बिट का उपयोग करके की जाती है।
बिटवाइज़ |
(OR) ऑपरेटर का अर्थ है "परिणामी बिट एक के बराबर है यदि संख्या का संगत बिट a
एक के बराबर है तो OR
संख्या का संगत बिट b
एक के बराबर है":
1 | 1 = 1
1 | 0 = 1
0 | 1 = 1
0 | 0 = 0
उदाहरण:
उदाहरण | परिणाम |
---|---|
|
|
|
|
|
|
|
|
केवल जब दोनों संख्याओं के संबंधित बिट (समान स्थिति पर बिट्स) शून्य होते हैं तो परिणाम का संगत बिट शून्य के बराबर होता है।
3. बिटवाइज़ ^
(XOR या "एक्सक्लूसिव या") ऑपरेटर
ऑपरेटर XOR
, जिसे विशेष रूप से उच्चारित किया जाता है या^
, प्रतीक द्वारा निरूपित किया जाता है । इसे कीबोर्ड पर दर्ज करने के लिए, Shift + 6 दबाएं (अंग्रेज़ी कीबोर्ड लेआउट पर)।
a ^ b
यह ऑपरेटर कुछ हद तक ऑपरेटर के समान है OR
, जिसमें इसका एक समान नाम है:XOR
बिटवाइज़ ^
(XOR) ऑपरेटर का अर्थ है "परिणामी बिट एक के बराबर है यदि संख्या का संबंधित बिट a
एक के बराबर है तो OR
संख्या का संबंधित बिट b
एक के बराबर है लेकिन दोनों एक ही समय में नहीं है":
1 ^ 1 = 0
1 ^ 0 = 1
0 ^ 1 = 1
0 ^ 0 = 0
उदाहरण:
उदाहरण | परिणाम |
---|---|
|
|
|
|
|
|
|
|
केवल जब दोनों संख्याओं के संगत बिट (एक ही स्थान पर बिट) भिन्न होते हैं , तो परिणाम का संगत बिट एक के बराबर होता है । यदि बिट समान हैं , तो परिणामी बिट शून्य के बराबर है ।
4. बिटवाइज़ ~
(नहीं, पूरक) ऑपरेटर
मुझे लगता है कि आप पहले ही अनुमान लगा सकते हैं कि यह क्या करता है। यह ऑपरेटर तार्किक (नहीं) ऑपरेटर के समान है !
, लेकिन इसे टिल्ड द्वारा दर्शाया गया है , न कि विस्मयादिबोधक बिंदु:
~a
यह एक यूनरी ऑपरेटर है, जिसका अर्थ है कि यह एक नंबर पर लागू होता है, दो पर नहीं। यह इस सिंगल ऑपरेंड से पहले दिखाई देता है।
बिटवाइज़ ~
ऑपरेटर का अर्थ है "परिणामी बिट एक है यदि संख्या का संबंधित बिट a
शून्य है, और यह शून्य है यदि संख्या का संबंधित बिट a
एक है":
~1 = 0
~0 = 1
उदाहरण:
उदाहरण | परिणाम |
---|---|
|
|
|
|
|
|
|
|
यह ऑपरेटर केवल उस बिट को बदलता है जो हैं 1
और 0
बिट्स जो 0
हैं 1
।
GO TO FULL VERSION