बाइनरी कैलकुलेटर
दो बाइनरी संख्याएँ लिखें और योग, अंतर, गुणनफल या भागफल पाएँ — कैरी, बॉरो, आंशिक गुणनफल और लंबे भाग के चरण स्तंभ-दर-स्तंभ दिखते हैं। बिटवाइज़ मोड में 4 से 128 बिट पर AND, OR, XOR, NOT, शिफ़्ट और रोटेट लागू करें। निःशुल्क, साइन-अप नहीं, और कुछ भी आपके ब्राउज़र से बाहर नहीं जाता।
केवल बाइनरी अंक, वैकल्पिक आगे के ऋण-चिह्न सहित। रिक्त स्थान और अंडरस्कोर अनदेखे जाते हैं, इसलिए 1011 0110 चलता है।
परिणाम
1 0010
बाइनरी
18
दशमलव
12
हेक्साडेसिमल
22
ऑक्टल
5 बिट
लंबाई
काम
| पंक्ति | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|
| आया कैरी | 1 | 1 | 0 | 1 | 0 |
| A | 0 | 1 | 1 | 0 | 1 |
| B | 0 | 0 | 1 | 0 | 1 |
| योग | 1 | 0 | 0 | 1 | 0 |
बाइनरी कैलकुलेटर का उपयोग कैसे करें
- 1. ऑपरेशन का प्रकार चुनें। अंकगणित जोड़ता, घटाता, गुणा या भाग करता है। बिटवाइज़ तय-चौड़ाई वाले बिट-पैटर्न के अलग-अलग बिट्स पर काम करता है।
- 2. अपनी संख्याएँ लिखें। केवल 0 और 1 उपयोग करें। आगे का ऋण-चिह्न,
0bउपसर्ग, रिक्त स्थान और अंडरस्कोर सब ठीक हैं, इसलिए1011 0110एक ही संख्या पढ़ी जाती है। - 3. चौड़ाई चुनें (केवल बिटवाइज़ में)। NOT, शिफ़्ट और रोटेशन चौड़ाई के बिना अर्थहीन हैं, इसलिए कैलकुलेटर एक माँगता है: 4, 8, 16, 32, 64 या 128 बिट।
- 4. परिणाम और काम पढ़ें। उत्तर बाइनरी, दशमलव, हेक्साडेसिमल और ऑक्टल में दिखता है, नीचे स्तंभ-दर-स्तंभ काम के साथ।
बाइनरी जोड़ कैसे काम करता है
बाइनरी जोड़ दशमलव जोड़ के वही स्तंभ-नियम मानता है, पर स्तंभ 10 के बजाय 2 पर भर जाता है। किसी स्तंभ के दो बिट और दाईं ओर से आया कोई भी कैरी जोड़ें। यदि योग 0 या 1 है, तो उसे लिख दें। यदि 2 या 3 है, तो कम बिट (0 या 1) लिखें और अगले स्तंभ में 1 कैरी करें।
| स्तंभ-योग | लिखा गया बिट | आगे भेजा गया कैरी |
|---|---|---|
| 0 + 0 + 0 = 0 | 0 | 0 |
| 1 + 0 + 0 = 1 | 1 | 0 |
| 1 + 1 + 0 = 10 (2) | 0 | 1 |
| 1 + 1 + 1 = 11 (3) | 1 | 1 |
1101 (13) में 101 (5) जोड़ें। कैलकुलेटर दोनों को पाँच स्तंभों तक भरता है और हर स्तंभ में आने वाला कैरी दिखाता है — बाएँ से दाएँ 11010 — जो 10010 देता है, यानी 18। कैरी की पंक्ति वही है जिसे लोग हाथ से जोड़ते समय अक्सर खो देते हैं।
घटाना, गुणा और भाग
घटाना उल्टे क्रम में होता है: जब किसी स्तंभ को 1 − 1 − 1 या 0 − 1 चाहिए, तो वह बाईं ओर के स्तंभ से 1 उधार लेता है, जिसकी कीमत यहाँ 2 है। 1000 − 0011 में एक बॉरो तीन स्तंभों तक फैलता है और 0101 (8 − 3 = 5) पर समाप्त होता है। जब A, B से छोटा हो, तो कैलकुलेटर छोटे को बड़े में से घटाता है और परिणाम को ऋण-चिह्न देता है।
गुणा शिफ़्ट और जोड़ है। गुणक का हर 1 अपनी स्थिति के अनुसार बाईं ओर खिसके गुण्य की एक प्रति देता है, और 0 कुछ नहीं देता। 1011 × 101 (11 × 5) के लिए 1 स्थिति 0 और 2 पर हैं, इसलिए आंशिक गुणनफल 1011 और 101100 हैं, और उनका योग 110111 है — 55।
भाग लंबा भाग है, जिसमें अनुमान लगाने का चरण बहुत आसान है। भाज्य का एक बिट एक बार में नीचे लाएँ; यदि भाजक जो आपके पास है उसमें समाता है, तो उसे घटाएँ और भागफल में 1 लिखें, नहीं तो 0। 1100100 ÷ 111 (100 ÷ 7) का भागफल 1110 (14) और शेषफल 10 (2) देता है। ऋणात्मक ऑपरेंड के साथ भागफल शून्य की ओर काटा जाता है और शेषफल A के चिह्न का होता है — जैसा C, Java और JavaScript में होता है।
तय चौड़ाई पर बिटवाइज़ क्रियाएँ
| A | B | AND | OR | XOR | NAND | NOR | XNOR |
|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
| 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 |
| 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 |
4 बिट पर 1100 और 1010 के साथ AND 1000 देता है, OR 1110 देता है और XOR 0110। NOT चौड़ाई के भीतर हर बिट पलट देता है, इसलिए वही 1100 4 बिट पर 0011 बनता है, पर 8 बिट पर 11110011 — इसीलिए चौड़ाई मायने रखती है।
बाएँ शिफ़्ट n करने पर हर बिट n स्थान ऊपर खिसकता है और खाली जगह शून्य से भरी जाती है; ऊपर से गिरे बिट खो जाते हैं, और कैलकुलेटर उन्हें सूचीबद्ध करता है। तार्किक दाएँ शिफ़्ट शून्य से भरता है। अंकगणितीय दाएँ शिफ़्ट सबसे ऊपर का बिट दोहराता है, इसलिए ऋणात्मक संख्या ऋणात्मक रहती है: 10110110 को 2 से दाएँ शिफ़्ट करने पर तार्किक रूप से 00101101 बनता है, पर अंकगणितीय रूप से 11101101 (−19)। रोटेशन एक सिरे से गिरे बिट्स को दूसरे सिरे पर लपेट देते हैं, इसलिए कुछ नहीं खोता।
अंकगणित मोड में ओवरफ़्लो नहीं
यहाँ अंकगणित हर लंबाई पर सटीक है, इसलिए 11111111 + 1 0 नहीं, 100000000 है। वास्तविक हार्डवेयर एक निश्चित संख्या के बिट रखता है और घूम जाता है। वह व्यवहार — और उसके साथ जुड़ी साइन्ड सीमाएँ — देखने के लिए Two's Complement Calculator उपयोग करें।
सामान्य गलतियाँ
- बाएँ-सबसे स्तंभ का कैरी भूल जाना। दो 8-बिट संख्याओं का जोड़ 9-बिट परिणाम दे सकता है। कैलकुलेटर अतिरिक्त स्तंभ रखता है।
- तार्किक और अंकगणितीय दाएँ शिफ़्ट में भ्रम। ये धनात्मक संख्याओं के लिए एक जैसे हैं और किसी ऐसे पैटर्न के लिए अलग हैं जिसका सबसे ऊपरी बिट 1 है। भाषाएँ अलग हैं: Java का
>>अंकगणितीय है और>>>तार्किक, जबकि C में ऋणात्मक साइन्ड मान पर>>कंपाइलर पर निर्भर है (मुख्यधारा के कंपाइलरों में अंकगणितीय)। - बिट पैटर्न को गलती से साइन्ड संख्या पढ़ना।
11110011अनसाइन्ड रूप में 243 है और टू'ज़ कॉम्प्लिमेंट में −13। बिटवाइज़ परिणाम दोनों दिखाते हैं, ताकि आप पहचान सकें कि आपका मतलब कौन सा है। - मान लेना कि NOT चौड़ाई-मुक्त है। असीमित पूर्णांक में 12 का NOT −13 है। तय चौड़ाई के भीतर यह पूरक पैटर्न है, जो यह कैलकुलेटर लौटाता है।
अक्सर पूछे जाने वाले प्रश्न
- बाइनरी संख्याएँ कैसे जोड़ते हैं?
- दाएँ-सबसे स्तंभ से बाईं ओर बढ़ते हुए दोनों बिट और कोई भी कैरी जोड़ें। स्तंभ-योग 0 या 1 हो तो वैसे ही लिखें; 2 हो तो 0 लिखें और 1 कैरी करें, और 3 हो तो 1 लिखें और 1 कैरी करें। उदाहरण के लिए 1101 + 101 = 10010। कैलकुलेटर हर स्तंभ में आने वाला कैरी दिखाता है।
- बाइनरी संख्याएँ कैसे घटाते हैं?
- दाएँ से स्तंभ-दर-स्तंभ घटाएँ। जब कोई स्तंभ शून्य से नीचे जाएगा, तो बाईं ओर के अगले स्तंभ से 1 उधार लें, जो वर्तमान स्तंभ में 2 जोड़ता है। यदि दूसरी संख्या बड़ी है, तो उल्टे क्रम में घटाएँ और उत्तर पर ऋण-चिह्न लगाएँ। 1000 − 11 = 101 (8 − 3 = 5)।
- तार्किक और अंकगणितीय दाएँ शिफ़्ट में क्या अंतर है?
- तार्किक दाएँ शिफ़्ट खाली ऊपरी बिट्स को शून्य से भरता है, इसलिए वह पैटर्न को अनसाइन्ड संख्या मानता है। अंकगणितीय दाएँ शिफ़्ट मूल सबसे ऊपरी बिट दोहराता है, इसलिए टू'ज़ कॉम्प्लिमेंट की ऋणात्मक संख्या ऋणात्मक रहती है। दोनों मान को आधा करते हैं, पर केवल अंकगणितीय शिफ़्ट ऋणात्मक मानों को सही तरह गोल करता है।
- AND, OR और XOR क्या करते हैं?
- ये दो बिट पैटर्न की स्तंभ-दर-स्तंभ तुलना करते हैं। AND 1 देता है केवल जहाँ दोनों बिट 1 हों, OR 1 देता है जहाँ कम से कम एक 1 हो, और XOR 1 देता है जहाँ ठीक एक 1 हो। AND का उपयोग बिट छिपाने (मास्क) के लिए, OR बिट सेट करने के लिए, और XOR उन्हें पलटने या अंतर जाँचने के लिए होता है।
- क्या यह कैलकुलेटर ऋणात्मक बाइनरी संख्याएँ संभालता है?
- अंकगणित मोड में, हाँ: आगे ऋण-चिह्न लगाएँ और चिह्न-नियम सटीक परिणाम पर लागू होते हैं। बिटवाइज़ मोड इसके बजाय सादे बिट-पैटर्न लेता है, क्योंकि ऋणात्मक संख्या का पैटर्न चौड़ाई पर निर्भर है। किसी ऋणात्मक मान का पैटर्न जानने के लिए Two's Complement Calculator उपयोग करें।
- मैं कितनी बड़ी बाइनरी संख्या डाल सकता हूँ?
- कोई निश्चित सीमा नहीं है, क्योंकि अंकगणित मनमानी-सटीकता वाले पूर्णांकों से होता है। स्तंभ-वार काम 64 बिट तक के ऑपरेंड के लिए बनता है; उससे आगे भी आपको सटीक परिणाम मिलता है, पर चरणों की तालिका के बिना। बिटवाइज़ क्रियाएँ चुनी गई चौड़ाई तक सीमित हैं, 128 बिट तक।