बाइनरी कैलकुलेटर
बाइनरी जोड़, घटाना, गुणा और भाग करें। बाइनरी और दशमलव के बीच रूपांतरण। मुफ्त।
बाइनरी संख्या प्रणाली: कंप्यूटर कैसे गिनते हैं
बाइनरी संख्या प्रणाली (बेस-2) केवल दो अंकों का उपयोग करती है — 0 और 1 — जिन्हें बिट्स (बाइनरी अंक) कहा जाता है। हर कंप्यूटर, स्मार्टफोन, और डिजिटल डिवाइस आंतरिक रूप से सभी जानकारी को बाइनरी में स्टोर और प्रोसेस करता है, क्योंकि इलेक्ट्रिकल सर्किट दो अलग-अलग अवस्थाओं को विश्वसनीय रूप से दर्शा सकते हैं: उच्च वोल्टेज (1) और निम्न वोल्टेज (0)।
बाइनरी संख्या में हर स्थिति 2 की शक्ति को दर्शाती है, जो दाईं से बाईं ओर बढ़ती है:
| स्थिति | 2⁷ | 2⁶ | 2⁵ | 2⁴ | 2³ | 2² | 2¹ | 2⁰ |
|---|---|---|---|---|---|---|---|---|
| मूल्य | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
बाइनरी से दशमलव रूपांतरण: हर बिट को उसकी स्थिति के मूल्य से गुणा करें और सभी परिणामों को जोड़ें।
उदाहरण: 10110101₂ = 1×128 + 0×64 + 1×32 + 1×16 + 0×8 + 1×4 + 0×2 + 1×1 = 128 + 32 + 16 + 4 + 1 = 181
दशमलव से बाइनरी रूपांतरण: बार-बार 2 से विभाजित करें, हर चरण में शेष को रिकॉर्ड करें, फिर शेष को नीचे से ऊपर तक पढ़ें।
उदाहरण: 181 को बाइनरी में बदलें:
- 181 ÷ 2 = 90 शेष 1
- 90 ÷ 2 = 45 शेष 0
- 45 ÷ 2 = 22 शेष 1
- 22 ÷ 2 = 11 शेष 0
- 11 ÷ 2 = 5 शेष 1
- 5 ÷ 2 = 2 शेष 1
- 2 ÷ 2 = 1 शेष 0
- 1 ÷ 2 = 0 शेष 1
शेष को नीचे से ऊपर तक पढ़ें: 10110101₂ ✓
बाइनरी अंकगणित: जोड़, घटाव, और गुणा
बाइनरी अंकगणित दशमलव के समान नियमों का पालन करता है, लेकिन 10 के बजाय 2 पर कैरी होता है।
बाइनरी जोड़ नियम: 0+0=0, 0+1=1, 1+0=1, 1+1=10 (कैरी 1), 1+1+1=11 (कैरी 1)
उदाहरण: 1011₂ + 1101₂ (11 + 13 = 24)
1011 + 1101 ------ 11000
दाएं से बाएं काम करना: 1+1=10 (0 लिखें, 1 कैरी करें); 1+0+1=10 (0 लिखें, 1 कैरी करें); 0+1+1=10 (0 लिखें, 1 कैरी करें); 1+1+1=11 (1 लिखें, 1 कैरी करें); अंतिम कैरी 1 लिखता है। परिणाम: 11000₂ = 24 ✓
दो के पूरक (बाइनरी घटाव): कंप्यूटर दो के पूरक प्रतिनिधित्व का उपयोग करके ऋणात्मक संख्याओं और घटाव को संभालते हैं। किसी संख्या का दो का पूरक खोजने के लिए: सभी बिट्स को फ्लिप करें, फिर 1 जोड़ें।
उदाहरण: 8-बिट दो के पूरक में -13: +13 = 00001101₂ → सभी बिट्स को फ्लिप करें → 11110010₂ → 1 जोड़ें → 11110011₂
इससे घटाव को जोड़ के रूप में किया जा सकता है: 20 − 13 = 20 + (−13)।
बाइनरी गुणा सुरुचिपूर्ण है: प्रत्येक आंशिक उत्पाद या तो 0 (0 से गुणा) या संख्या स्वयं (1 से गुणा), बाईं ओर शिफ्ट किया गया। उदाहरण: 1011₂ × 101₂ (11 × 5 = 55):
1011
× 101
-----
1011 (1011 × 1)
0000 (1011 × 0, शिफ्ट किया गया)
1011 (1011 × 1, दो बार शिफ्ट किया गया)
-------
110111₂ = 55 ✓
कंप्यूटिंग में बाइनरी: बिट्स, बाइट्स, और डेटा आकार
कंप्यूटर, स्टोरेज, या नेटवर्क स्पीड के साथ काम करने वाले किसी भी व्यक्ति के लिए बाइनरी इकाइयों को समझना आवश्यक है:
| इकाई | आकार | अधिकतम मान (अनहस्ताक्षरित) | सामान्य उपयोग |
|---|---|---|---|
| बिट | 1 बाइनरी अंक | 1 | बूलियन फ्लैग, एकल बाइनरी मान |
| निबल | 4 बिट्स | 15 (हेक्स: F) | एक हेक्साडेसिमल अंक |
| बाइट | 8 बिट्स | 255 | एकल वर्ण (ASCII), रंग चैनल |
| वर्ड | 16 बिट्स | 65,535 | पुराने 16-बिट सिस्टम, यूनिकोड मूल |
| डबल वर्ड (DWORD) | 32 बिट्स | 4,294,967,295 | 32-बिट पूर्णांक, IPv4 पते |
| क्वाड वर्ड (QWORD) | 64 बिट्स | 18,446,744,073,709,551,615 | आधुनिक पूर्णांक, पॉइंटर्स, टाइमस्टैम्प |
रंग मान: वेब रंग 24-बिट RGB (प्रति चैनल 8 बिट्स) का उपयोग करते हैं। #FF5733 = R:255, G:87, B:51। प्रत्येक 8-बिट चैनल 256 शेड (0–255) को दर्शा सकता है। कुल संभावित रंग: 256³ = 16,777,216 (लगभग 16.7 मिलियन)।
Unix/Linux में फ़ाइल अनुमतियाँ: rwxr-xr-- = बाइनरी में 111 101 100 = ऑक्टल में 7, 5, 4 = chmod 754। 3 बिट्स का प्रत्येक सेट मालिक, समूह, और अन्य के लिए पढ़ने (r=4), लिखने (w=2), और निष्पादित करने (x=1) की अनुमतियों का प्रतिनिधित्व करता है।
बिटवाइज ऑपरेशन और उनके अनुप्रयोग
बिटवाइज ऑपरेशन पूर्णांक के भीतर व्यक्तिगत बिट्स को हेरफेर करते हैं। वे निम्न-स्तरीय प्रोग्रामिंग, क्रिप्टोग्राफ़ी, नेटवर्क प्रोग्रामिंग, और प्रदर्शन-महत्वपूर्ण कोड के लिए मौलिक हैं।
| ऑपरेशन | प्रतीक | व्यवहार | उदाहरण |
|---|---|---|---|
| AND | & | 1 यदि दोनों बिट्स 1 हैं | 1010 & 1100 = 1000 |
| OR | | | 1 यदि कोई भी बिट 1 है | 1010 | 1100 = 1110 |
| XOR | ^ | 1 यदि बिट्स अलग हैं | 1010 ^ 1100 = 0110 |
| NOT | ~ | सभी बिट्स को फ्लिप करें | ~1010 = 0101 |
| बाएं शिफ्ट | << | बिट्स को बाईं ओर शिफ्ट करें (प्रत्येक शिफ्ट ×2) | 1011 << 1 = 10110 (×2) |
| दाएं शिफ्ट | >> | बिट्स को दाईं ओर शिफ्ट करें (प्रत्येक शिफ्ट ÷2) | 1011 >> 1 = 0101 (÷2) |
व्यावहारिक उपयोग:
- बिट मास्किंग: जांचें कि क्या एक विशिष्ट बिट सेट है:
if (flags & 0b0100) {... }— बिट 2 की जांच करता है कि क्या वह 1 है। - एक बिट सेट करना:
flags = flags | 0b0100— बिट 2 को 1 पर सेट करता है, चाहे वर्तमान मान कुछ भी हो। - एक बिट साफ़ करना:
flags = flags & ~0b0100— बिट 2 को 0 पर साफ़ करता है। - 2 की शक्तियों द्वारा तेज़ गुणा/विभाजन:
n << 3= n × 8;n >> 2= n ÷ 4। बिट शिफ्ट CPU-स्तर के ऑपरेशन हैं, गुणा से काफी तेज़। - सम/विषम की जांच करना:
if (n & 1) { /* विषम */ }— किसी भी विषम संख्या का अंतिम बिट हमेशा 1 होता है।
संख्या प्रणालियों की तुलना: बाइनरी, ऑक्टल, डेसिमल, हेक्साडेसिमल
कंप्यूटर विज्ञान चार संख्या प्रणालियों का उपयोग करता है, जिनमें से प्रत्येक अलग-अलग संदर्भों के लिए उपयुक्त है:
| प्रणाली | आधार | अंक | सामान्य उपयोग |
|---|---|---|---|
| बाइनरी (बेस-2) | 2 | 0, 1 | CPU ऑपरेशन, स्टोरेज, लॉजिक |
| ऑक्टल (बेस-8) | 8 | 0–7 | Unix फ़ाइल अनुमतियाँ, पुराने सिस्टम |
| डेसिमल (बेस-10) | 10 | 0–9 | मानव-पठनीय संख्याएँ |
| हेक्साडेसिमल (बेस-16) | 16 | 0–9, A–F | मेमोरी एड्रेस, रंग कोड, मशीन कोड |
त्वरित रूपांतरण: बाइनरी ↔ हेक्स (4 बाइनरी अंक = 1 हेक्स अंक):
| बाइनरी | हेक्स | डेसिमल | बाइनरी | हेक्स | डेसिमल |
|---|---|---|---|---|---|
| 0000 | 0 | 0 | 1000 | 8 | 8 |
| 0001 | 1 | 1 | 1001 | 9 | 9 |
| 0010 | 2 | 2 | 1010 | A | 10 |
| 0011 | 3 | 3 | 1011 | B | 11 |
| 0100 | 4 | 4 | 1100 | C | 12 |
| 0101 | 5 | 5 | 1101 | D | 13 |
| 0110 | 6 | 6 | 1110 | E | 14 |
| 0111 | 7 | 7 | 1111 | F | 15 |
यह 4-बिट समूहीकरण बाइनरी डेटा के लिए एक कॉम्पैक्ट नोटेशन के रूप में हेक्स को बेहद उपयोगी बनाता है: 32-बिट मान 11001010 00111111 10110101 00001100 को CA3FB50C के रूप में लिखना बहुत आसान है।
नेटवर्किंग में बाइनरी: आईपी एड्रेस और सबनेट मास्क
नेटवर्क इंजीनियरिंग के लिए बाइनरी को समझना आवश्यक है क्योंकि IPv4 एड्रेस मूल रूप से 32-बिट बाइनरी नंबर होते हैं, और सबनेट करना — नेटवर्क को विभाजित करने की प्रक्रिया — पूरी तरह से बाइनरी ऑपरेशन पर निर्भर करती है।
एक IPv4 एड्रेस जैसे 192.168.1.100 32-बिट बाइनरी वैल्यू के लिए मानव-पठनीय संकेतन है:
11000000.10101000.00000001.01100100
एक सबनेट मास्क यह निर्धारित करता है कि एड्रेस का कौन सा हिस्सा नेटवर्क को पहचानता है और कौन सा होस्ट को पहचानता है। बाइनरी में 255.255.255.0 मास्क है:
11111111.11111111.11111111.00000000
IP एड्रेस और सबनेट मास्क का बिटवाइज AND नेटवर्क एड्रेस देता है:
| घटक | दशमलव | बाइनरी |
|---|---|---|
| IP एड्रेस | 192.168.1.100 | 11000000.10101000.00000001.01100100 |
| सबनेट मास्क | 255.255.255.0 | 11111111.11111111.11111111.00000000 |
| नेटवर्क (AND) | 192.168.1.0 | 11000000.10101000.00000001.00000000 |
CIDR संकेतन (जैसे, /24) आपको बताता है कि सबनेट मास्क में कितने लीडिंग 1-बिट हैं। एक /24 मास्क में 24 एक और 8 शून्य होते हैं, जो प्रति सबनेट 2⁸ − 2 = 254 उपयोग करने योग्य होस्ट एड्रेस की अनुमति देता है। एक /16 मास्क 65,534 होस्ट की अनुमति देता है। नेटवर्क इंजीनियर सबनेट की योजना बनाने, ब्रॉडकास्ट एड्रेस की गणना करने और राउटिंग का समस्या निवारण करने के लिए दैनिक रूप से बाइनरी मानसिक गणित का उपयोग करते हैं।
क्रिप्टोग्राफी और सुरक्षा में बाइनरी
आधुनिक एन्क्रिप्शन एल्गोरिदम पूरी तरह से बाइनरी स्तर पर काम करते हैं, XOR, बिट शिफ्ट और प्रतिस्थापन ऑपरेशन के संयोजन के माध्यम से व्यक्तिगत बिट्स को हेरफेर करते हैं। बाइनरी को समझना यह समझने का द्वार है कि डिजिटल सुरक्षा कैसे काम करती है।
XOR एन्क्रिप्शन (आधुनिक सिफर की नींव): XOR का एक अनूठा गुण है — इसे एक ही कुंजी के साथ दो बार लगाने से मूल वैल्यू वापस आ जाती है: A ⊕ K ⊕ K = A। यह XOR को स्ट्रीम सिफर और वन-टाइम पैड का आधार बनाता है।
उदाहरण: बाइट 01001101 (ASCII में अक्षर 'M') को कुंजी 10110010 के साथ एन्क्रिप्ट करना:
- प्लेनटेक्स्ट: 01001101
- कुंजी: 10110010
- XOR (एन्क्रिप्ट): 11111111
- एक ही कुंजी के साथ फिर से XOR (डिक्रिप्ट): 01001101 = 'M' ✓
आधुनिक एन्क्रिप्शन में कुंजी आकार: AES-128 128-बिट कुंजी का उपयोग करता है, जिसका अर्थ है कि 2¹²⁸ ≈ 3.4 × 10³⁸ संभावित कुंजी हैं — देखने योग्य ब्रह्मांड में परमाणुओं की संख्या से अधिक। AES-256 256-बिट कुंजी का उपयोग करता है जिसमें 2²⁵⁶ संभावनाएं होती हैं। यहां तक कि सबसे तेज़ सुपरकंप्यूटर भी इन कुंजी स्थानों को ब्रूट-फोर्स नहीं कर सकते। प्रत्येक अतिरिक्त बिट खोज स्थान को दोगुना कर देता है, यही कारण है कि क्रिप्टोग्राफी में कुंजी लंबाई घातीय रूप से मायने रखती है।
SHA-256 जैसे हैश फ़ंक्शन किसी भी इनपुट से 256-बिट (32-बाइट) बाइनरी आउटपुट उत्पन्न करते हैं। इनपुट में एक बिट के बदलाव से भी पूरी तरह से अलग हैश उत्पन्न होता है — एक गुण जिसे "एवलांच प्रभाव" कहा जाता है जो हैश को डेटा अखंडता को सत्यापित करने, पासवर्ड को स्टोर करने और ब्लॉकचेन तकनीक को शक्ति देने के लिए उपयोगी बनाता है।
बाइनरी और क्वांटम कंप्यूटिंग: जहां क्लासिकल कंप्यूटर बाइनरी बिट्स (0 या 1) का उपयोग करते हैं, वहीं क्वांटम कंप्यूटर क्यूबिट्स का उपयोग करते हैं जो दोनों राज्यों के सुपरपोजिशन में एक साथ मौजूद हो सकते हैं। एक क्लासिकल 256-बिट कुंजी में 2²⁵⁶ संभावित वैल्यू होती हैं जिन्हें क्रमिक रूप से चेक किया जाना चाहिए; ग्रोवर एल्गोरिदम चलाने वाला एक क्वांटम कंप्यूटर √(2²⁵⁶) = 2¹²⁸ ऑपरेशन में इस स्थान को खोज सकता है। यही कारण है कि पोस्ट-क्वांटम क्रिप्टोग्राफी विकसित की जा रही है — बाइनरी-आधारित एन्क्रिप्शन स्कीम बनाने के लिए जो क्वांटम विरोधियों के खिलाफ भी सुरक्षित रहें।
अक्सर पूछे जाने वाले प्रश्न
कंप्यूटर दशमलव के बजाय बाइनरी का उपयोग क्यों करते हैं?
इलेक्ट्रॉनिक सर्किट दो अलग-अलग अवस्थाओं के साथ सबसे विश्वसनीय होते हैं: चालू (उच्च वोल्टेज ≈ 1) और बंद (कम वोल्टेज ≈ 0)। दशमलव के लिए 10 अलग-अलग अवस्थाओं का प्रतिनिधित्व करने के लिए बहुत अधिक सटीक वोल्टेज नियंत्रण की आवश्यकता होगी और यह विद्युत शोर के लिए कहीं अधिक संवेदनशील होगा। बाइनरी की सादगी गीगाहर्ट्ज़ गति पर प्रति सेकंड अरबों ऑपरेशन के साथ अरबों ट्रांजिस्टर को मज़बूती से संचालित करने की अनुमति देती है।
एक बाइट कितनी बड़ी संख्या रख सकती है?
एक बाइट (8 बिट्स) 2⁸ = 256 विभिन्न मानों का प्रतिनिधित्व कर सकता है। बिना साइन वाले पूर्णांक के लिए: 0 से 255। साइन वाले पूर्णांक (दो के पूरक) के लिए: −128 से 127। बाइनरी में अधिकतम बिना साइन वाली बाइट मान 11111111₂ = 255 है; हेक्स में यह FF है।
मैं एक नकारात्मक संख्या को बाइनरी में कैसे बदलूं?
दो के पूरक का उपयोग करें: (1) सकारात्मक संस्करण को बाइनरी में बदलें, (2) सभी बिट्स को फ्लिप करें (0→1, 1→0), (3) 1 जोड़ें। उदाहरण — 8-बिट में −13: +13 = 00001101₂, बिट्स को फ्लिप करें = 11110010₂, 1 जोड़ें = 11110011₂। यह है कि कैसे सभी आधुनिक कंप्यूटर नकारात्मक पूर्णांकों को संग्रहीत करते हैं।
बाइनरी और हेक्साडेसिमल में क्या अंतर है?
दोनों कंप्यूटिंग में उपयोग की जाने वाली स्थितित्मक संख्या प्रणालियाँ हैं। बाइनरी (बेस-2) केवल 0 और 1 का उपयोग करता है — कंप्यूटर की मूल भाषा। हेक्साडेसिमल (बेस-16) 0–9 और A–F का उपयोग बाइनरी के लिए एक कॉम्पैक्ट नोटेशन के रूप में करता है — हर 4 बाइनरी अंक बिल्कुल 1 हेक्स अंक के अनुरूप होते हैं। हेक्स का उपयोग मेमोरी एड्रेस, कलर कोड (#RRGGBB), और मशीन कोड के लिए किया जाता है क्योंकि यह कच्चे बाइनरी की तुलना में अधिक कॉम्पैक्ट और पठनीय है।
बिटवाइज ऑपरेशन किसके लिए उपयोग किए जाते हैं?
बिटवाइज ऑपरेशन (AND, OR, XOR, NOT, शिफ्ट्स) पूर्णांकों के भीतर अलग-अलग बिट्स में हेरफेर करते हैं। सामान्य उपयोग: बिट फ़्लैग और अनुमतियाँ (Unix chmod), सम/विषम की जाँच (n & 1), 2 की शक्तियों द्वारा तेज़ गुणा/विभाजन (बिट शिफ्टिंग), एन्क्रिप्शन एल्गोरिदम, हैश फ़ंक्शन, CRC त्रुटि डिटेक्शन, नेटवर्क सबनेट मास्क, और गेम डेवलपमेंट (एकल पूर्णांक में कॉम्पैक्ट स्थिति संग्रहण)।
बाइनरी फ़्लोटिंग पॉइंट क्या है और प्रोग्रामिंग में 0.1 + 0.2 ≠ 0.3 क्यों है?
अधिकांश आधुनिक कंप्यूटर IEEE 754 बाइनरी फ़्लोटिंग पॉइंट का उपयोग करते हैं, जो दशमलव अंशों को बाइनरी में दर्शाता है। जैसे 1/3 = 0.3333... को दशमलव में सटीक रूप से दर्शाया नहीं जा सकता, वैसे ही 1/10 को बाइनरी में सटीक रूप से दर्शाया नहीं जा सकता (यह एक अनंत रूप से दोहराने वाला बाइनरी अंश है)। यह छोटे गोलाकार त्रुटियों का कारण बनता है: अधिकांश भाषाओं में, 0.1 + 0.2 = 0.30000000000000004। सटीक वित्तीय गणनाओं के लिए पूर्णांक अंकगणित (डॉलर के बजाय सेंट में काम करें) या दशमलव पुस्तकालयों का उपयोग करें।
डेटा स्टोरेज और फ़ाइल आकारों में बाइनरी का उपयोग कैसे किया जाता है?
स्टोरेज को बाइट्स (8 बिट्स), किलोबाइट्स (1,024 बाइट्स), मेगाबाइट्स (1,024 KB), गीगाबाइट्स (1,024 MB), आदि में मापा जाता है। नोट: हार्ड ड्राइव निर्माता SI उपसर्गों (1 KB = 1,000 बाइट्स) का उपयोग करते हैं जबकि ऑपरेटिंग सिस्टम बाइनरी उपसर्गों (1 KiB = 1,024 बाइट्स) का उपयोग करते हैं, जिससे स्टोरेज खरीदने पर स्पष्ट "लापता स्थान" विसंगति होती है। 1 TB ड्राइव विंडोज़ में ~931 GiB दिखाता है क्योंकि 1,000,000,000,000 ÷ 1,073,741,824 ≈ 931।
बाइनरी-कोडेड डेसिमल (BCD) क्या है?
BCD प्रत्येक दशमलव अंक को 4-बिट बाइनरी समूह के रूप में एन्कोड करता है: 0=0000, 1=0001,..., 9=1001। तो BCD में दशमलव 93 1001 0011 है। BCD का उपयोग वित्तीय प्रणालियों (फ़्लोटिंग-पॉइंट गोलाकार त्रुटियों से बचा जाता है), डिजिटल घड़ियों और डिस्प्ले (7-सेगमेंट डिस्प्ले सीधे BCD को डीकोड करते हैं), और पुराने मेनफ्रेम सिस्टम में किया जाता है। यह शुद्ध बाइनरी की तुलना में कम स्थान-कुशल है लेकिन महत्वपूर्ण अनुप्रयोगों में दशमलव-से-बाइनरी रूपांतरण त्रुटियों को समाप्त करता है।