CCalculate.Studio

💾 बिटवाइज़ ऑपरेशन कैलकुलेटर

बिटवाइज़ ऑपरेशन किसी संख्या के बाइनरी निरूपण के अलग-अलग बाइनरी अंकों (बिट्स) पर सीधे काम करते हैं, न कि संख्या को एक संपूर्ण दशमलव मान के रूप में मानते हुए। यह कैलकुलेटर गैर-ऋणात्मक 32-बिट पूर्णांकों पर छह मानक बिटवाइज़ ऑपरेशन — AND, OR, XOR, NOT, लेफ्ट शिफ्ट और राइट शिफ्ट — करता है और इनपुट व परिणाम का बाइनरी निरूपण दिखाता है।

आख़िरी बार समीक्षा: 2026-07-07
Add as preferred on Google

बिटवाइज़ ट्रुथ टेबल को समझना

हर तार्किक बिटवाइज़ ऑपरेशन हर संगत बिट स्थिति की जोड़ी पर स्वतंत्र रूप से लागू होने वाली एक निश्चित ट्रुथ टेबल का पालन करता है।

बिट Aबिट BANDORXOR
00000
01011
10011
11110
  • यह कैलकुलेटर इनपुट को साइन्ड 32-बिट पूर्णांक की सीमा (0 से 2,147,483,647) तक सीमित रखता है क्योंकि जावास्क्रिप्ट के बिटवाइज़ ऑपरेटर ECMAScript विनिर्देश का पालन करते हुए, संख्याओं पर काम करने से पहले उन्हें आंतरिक रूप से 32-बिट निरूपण में बदल देते हैं।
  • NOT (~A) हमेशा ऐसा परिणाम देता है जो, साइन्ड 32-बिट पूर्णांक के रूप में व्याख्या करने पर, −(A + 1) के बराबर होता है — यह कैलकुलेटर अनसाइन्ड 32-बिट समतुल्य दिखाता है (जैसे ~12, −13 के बजाय 4,294,967,283 के रूप में दिखता है) ताकि दिखाया गया बाइनरी निरूपण स्पष्ट रहे।
  • इस कैलकुलेटर द्वारा 31 से बड़ी शिफ्ट मात्राओं (B) को 31 पर सीमित कर दिया जाता है, क्योंकि जावास्क्रिप्ट में 32-बिट मान को 32 या उससे अधिक स्थितियों तक शिफ्ट करने पर वह चक्रित हो जाता है (शिफ्ट मात्रा के केवल निचले 5 बिट्स का उपयोग करते हुए) न कि सहज रूप से अपेक्षित 0 उत्पन्न करता है।

बिटवाइज़ ऑपरेशन क्या हैं?

बिटवाइज़ ऑपरेशन किसी संख्या को उसके अलग-अलग बाइनरी अंकों (बिट्स) के स्तर पर संसाधित करता है, सामान्य आधार-10 अंकगणित करने के बजाय उसके आधार-2 निरूपण के 0 और 1 की तुलना या शिफ्टिंग करता है। हर पूर्ण संख्या को बाइनरी में बिट्स के अनुक्रम के रूप में लिखा जा सकता है, जिनमें से हर एक 2 की घात दर्शाता है — उदाहरण के लिए, 12 बाइनरी में 1100 है, यानी 1×8 + 1×4 + 0×2 + 0×1।

तार्किक बिटवाइज़ ऑपरेशन — AND, OR, XOR (एक्सक्लूसिव ऑर) और NOT — दो संख्याओं की संगत बिट स्थितियों की तुलना करते हैं (या एक संख्या के बिट्स को उलटते हैं) बूलियन तर्क के मानक नियमों के अनुसार, जो हर बिट स्थिति पर स्वतंत्र रूप से लागू होते हैं। शिफ्ट ऑपरेशन — लेफ्ट शिफ्ट और राइट शिफ्ट — किसी संख्या के सभी बिट्स को निर्दिष्ट संख्या में स्थितियों तक बाएँ या दाएँ ले जाते हैं, जो गणितीय रूप से 2 की घात से गुणा या भाग करने के बराबर है।

बिटवाइज़ ऑपरेशन कंप्यूटर विज्ञान और निम्न-स्तरीय प्रोग्रामिंग के लिए बुनियादी हैं: इनका उपयोग विकल्पों के समुच्चय (बिट फ्लैग) में अलग-अलग फ्लैग सेट करने, हटाने और जाँचने के लिए, 2 की घातों से तेज़ गुणा व भाग के लिए, क्रिप्टोग्राफिक एल्गोरिदम के लिए, ग्राफ़िक्स व रंग हेरफेर (लाल/हरे/नीले चैनल जोड़ने) के लिए, और सघन डेटा एन्कोडिंग के लिए किया जाता है।

इस बिटवाइज़ कैलकुलेटर का उपयोग कैसे करें

  1. पहली संख्या (A) को गैर-ऋणात्मक पूर्ण संख्या के रूप में दर्ज करें (0 से 2,147,483,647, एक साइन्ड 32-बिट पूर्णांक की सीमा)।
  2. दूसरी संख्या (B) दर्ज करें। AND, OR और XOR के लिए, यह दूसरा ऑपरेंड है जिसकी A से बिट-दर-बिट तुलना की जाती है। शिफ्ट ऑपरेशन के लिए, यह शिफ्ट करने की स्थितियों की संख्या है (0–31 प्रभावी है; बड़े मान 31 पर सीमित कर दिए जाते हैं)। NOT के लिए, B को नज़रअंदाज़ किया जाता है क्योंकि NOT केवल A पर काम करता है।
  3. ऑपरेशन चुनें: AND, OR, XOR, NOT, लेफ्ट शिफ्ट, या राइट शिफ्ट।
  4. A, B (या शिफ्ट मात्रा) और परिणाम के बाइनरी निरूपण के साथ, दशमलव परिणाम पढ़ें।

हर बिटवाइज़ ऑपरेशन कैसे काम करता है

AND: बिट 1 तभी है जब दोनों संगत बिट 1 हों
OR: बिट 1 है यदि कम से कम एक संगत बिट 1 हो
XOR: बिट 1 है यदि ठीक एक संगत बिट 1 हो
लेफ्ट शिफ्ट: A << B = A × 2^B; राइट शिफ्ट: A >> B = ⌊A ÷ 2^B⌋
उदाहरण: 12 AND 10 = 8; 12 OR 10 = 14; 12 XOR 10 = 6; 12 << 2 = 48; 12 >> 2 = 3

AND हर बिट स्थिति की तुलना करता है और केवल तभी 1 लौटाता है जब दोनों बिट 1 हों, अन्यथा 0। हल किया उदाहरण: 12 (1100) AND 10 (1010) = 8 (1000), क्योंकि केवल तीसरी बिट स्थिति (मान 8) दोनों संख्याओं में 1 है।

OR हर बिट स्थिति की तुलना करता है और तब 1 लौटाता है जब दो बिट्स में से कम से कम एक 1 हो। हल किया उदाहरण: 12 (1100) OR 10 (1010) = 14 (1110)। XOR (एक्सक्लूसिव ऑर) तब 1 लौटाता है जब दो बिट्स में से ठीक एक 1 हो (दोनों नहीं)। हल किया उदाहरण: 12 (1100) XOR 10 (1010) = 6 (0110)।

NOT एक अकेली संख्या के हर बिट को उलट देता है (0, 1 बन जाता है, 1, 0 बन जाता है)। क्योंकि यह कैलकुलेटर 32-बिट मानों पर काम करता है, NOT 12 सभी 32 बिट्स को पलट देता है, जिससे एक अनसाइन्ड 32-बिट पूर्णांक के रूप में व्याख्या करने पर 4,294,967,283 मिलता है (साइन्ड पूर्णांक के रूप में व्याख्या करने पर यह −13 का टू'ज़-कॉम्प्लीमेंट निरूपण है)।

लेफ्ट शिफ्ट (A << B), A के हर बिट को B स्थितियों तक बाएँ ले जाता है, खाली हुई निम्न-क्रम बिट्स को 0 से भरते हुए — यह A को 2^B से गुणा करने के बराबर है। हल किया उदाहरण: 12 << 2 = 48 (12 × 2² = 12 × 4 = 48 के बराबर)। राइट शिफ्ट (A >> B), A के हर बिट को B स्थितियों तक दाएँ ले जाता है, निम्न-क्रम बिट्स को हटाते हुए — यह A को 2^B से पूर्णांक भाग करने, नीचे की ओर पूर्णांकित करने के बराबर है। हल किया उदाहरण: 12 >> 2 = 3 (⌊12 ÷ 4⌋ = 3 के बराबर)।

सामान्य गलतियाँ

  • बिटवाइज़ AND/OR को तार्किक (बूलियन) AND/OR के साथ भ्रमित करना — बिटवाइज़ ऑपरेटर किसी संख्या के हर बिट पर स्वतंत्र रूप से काम करते हैं, जबकि तार्किक ऑपरेटर पूरे मान को एक ही सही/गलत स्थिति मानते हैं; दोनों मान 0 और 1 के विशेष मामले को छोड़कर अलग-अलग परिणाम देते हैं।
  • बड़ी मात्रा से लेफ्ट शिफ्ट करने पर हमेशा आनुपातिक रूप से बड़ी संख्या मिलने की अपेक्षा करना — पर्याप्त दूर तक शिफ्ट करने से महत्वपूर्ण बिट्स 32-बिट सीमा से बाहर धकेले जा सकते हैं, जिससे वे हट (overflow) जाते हैं।
  • NOT परिणाम को गलत पढ़ना — क्योंकि NOT सभी 32 बिट्स में से हर एक को पलट देता है, ~A का अनसाइन्ड दशमलव परिणाम A से कहीं बड़ा दिखता है, भले ही साइन्ड टू'ज़-कॉम्प्लीमेंट व्याख्या में यह वास्तव में एक छोटी ऋणात्मक संख्या, −(A+1), दर्शाता है।
  • राइट शिफ्ट को हमेशा सामान्य भाग के बराबर मानना — गैर-ऋणात्मक पूर्णांक पर राइट शिफ्ट, 2 की घात से पूर्णांक फ्लोर भाग से ठीक मेल खाता है, लेकिन ऋणात्मक संख्याओं के लिए व्यवहार इस पर निर्भर करता है कि अंकगणितीय या तार्किक शिफ्ट का उपयोग किया जा रहा है।

अक्सर पूछे जाने वाले सवाल

बिटवाइज़ AND और तार्किक AND में क्या अंतर है?

बिटवाइज़ AND (&) दो संख्याओं की बिट-दर-बिट तुलना करता है और एक नई संख्या लौटाता है जिसमें हर बिट तभी 1 होता है जब दोनों संगत इनपुट बिट 1 हों — उदाहरण के लिए, 12 & 10 = 8। तार्किक AND (&&) पूरे मान को एक ही सही/गलत स्थिति मानता है और मूल ऑपरेंड में से एक या एक बूलियन लौटाता है, अलग-अलग बिट्स को जोड़ने के बजाय ट्रूथीनेस का मूल्यांकन करता है। दोनों ऑपरेटर अलग-अलग उद्देश्यों की पूर्ति करते हैं और आमतौर पर बहुत अलग परिणाम देते हैं।

XOR कैसे काम करता है?

XOR (एक्सक्लूसिव ऑर) दो संख्याओं की बिट-दर-बिट तुलना करता है और हर उस स्थिति में 1 लौटाता है जहाँ दो संगत बिट्स में से ठीक एक 1 हो (दोनों नहीं, और न ही कोई नहीं)। 12 (1100) XOR 10 (1010) के लिए: हर बिट स्थिति की तुलना करने पर 0110 मिलता है, जो दशमलव में 6 है। XOR का उपयोग आमतौर पर बिट्स को टॉगल करने, दो मानों के बीच अंतर पहचानने, और सरल चेकसम व पैरिटी गणना में किया जाता है।

लेफ्ट शिफ्ट क्या करता है?

लेफ्ट शिफ्ट (A << B), A के बाइनरी निरूपण के हर बिट को B स्थितियों तक बाएँ ले जाता है, नई खाली हुई निम्न-क्रम स्थितियों को 0 से भरते हुए। यह गणितीय रूप से A को 2 की घात B से गुणा करने के बराबर है। उदाहरण के लिए, 12 << 2 = 48, जो 12 × 2² = 12 × 4 = 48 के समान परिणाम है।

बिटवाइज़ NOT क्या करता है?

बिटवाइज़ NOT (~A), A के हर बिट को उलट देता है — हर 0, 1 बन जाता है और हर 1, 0 बन जाता है। 12 के 32-बिट निरूपण (00000000000000000000000000001100) पर लागू करने पर, NOT उन सभी बिट्स के पलटे हुए मान वाली एक संख्या उत्पन्न करता है, जो एक अनसाइन्ड 32-बिट संख्या के रूप में 4,294,967,283 दिखती है, और एक साइन्ड पूर्णांक के रूप में टू'ज़-कॉम्प्लीमेंट रूप में −13 दर्शाती है (सर्वसमिका ~A = −(A+1) का पालन करते हुए)।

राइट शिफ्ट, भाग से कैसे अलग है?

गैर-ऋणात्मक पूर्णांकों के लिए, राइट शिफ्ट (A >> B), 2^B से पूर्णांक फ्लोर भाग के ठीक समान परिणाम देता है: A >> B = ⌊A ÷ 2^B⌋। उदाहरण के लिए, 12 >> 2 = 3, जो ⌊12 ÷ 4⌋ = 3 से मेल खाता है। दोनों ऑपरेशन ऋणात्मक संख्याओं के लिए भिन्न हो सकते हैं, जहाँ शिफ्ट के विशिष्ट प्रकार (अंकगणितीय बनाम तार्किक) से यह प्रभावित होता है कि साइन बिट को कैसे संभाला जाता है — यह विवरण निम्न-स्तरीय प्रोग्रामिंग संदर्भों में प्रासंगिक है।

यहाँ बिटवाइज़ ऑपरेशन 32-बिट पूर्णांकों तक सीमित क्यों हैं?

जावास्क्रिप्ट के अंतर्निहित बिटवाइज़ ऑपरेटर (&, |, ^, ~, <<, >>), ECMAScript भाषा विनिर्देश के अनुसार, ऑपरेशन करने से पहले अपने ऑपरेंड को आंतरिक रूप से 32-बिट पूर्णांकों में बदल देते हैं। यह कैलकुलेटर उस मानक व्यवहार को प्रतिबिंबित करता है, इसलिए इनपुट 32 बिट्स में निरूपित करने योग्य सीमा (यहाँ स्वीकार किए गए गैर-ऋणात्मक मानों के लिए 0 से 2,147,483,647) तक सीमित हैं।

संदर्भ

  1. Warren HS Jr. Hacker's Delight. 2nd ed. Addison-Wesley, 2012. (Standard reference for bitwise algorithms and two's-complement arithmetic.)
  2. ECMA International. ECMA-262: ECMAScript Language Specification, §6.1.6.1 (Bitwise operators, ToInt32/ToUint32). ecma-international.org.
  3. Patterson DA, Hennessy JL. Computer Organization and Design: The Hardware/Software Interface. 5th ed. Morgan Kaufmann, 2013. (Binary representation and bitwise logic.)

संख्या सिद्धांत · सभी कैलकुलेटर

संबंधित कैलकुलेटर