संख्या प्रणाली कनवर्टर (BIN/HEX/DEC/OCT) - नकारात्मक संख्याओं का समर्थन

कंप्यूटर की दुनिया शून्य और एक पर चलती है, लेकिन इंसान दस में सोचते हैं। और प्रोग्रामर? उन्हें इन सबके बीच सब कुछ समझना होता है। चाहे आप निम्न-स्तरीय कोड को डीबग कर रहे हों, CSS में रंग सेट कर रहे हों, IP मास्क की गणना कर रहे हों या कंप्यूटर विज्ञान के कार्यों को हल कर रहे हों, आपको संख्याओं को प्रणालियों के बीच बदलने की आवश्यकता का सामना करना पड़ेगा।

विंडोज या मोबाइल पर सामान्य कैलकुलेटर अक्सर धीमे और बोझिल होते हैं। हमारा बुद्धिमान संख्या प्रणाली कनवर्टर डेवलपर्स द्वारा डेवलपर्स के लिए डिज़ाइन किया गया था। यह वास्तविक समय में तत्काल रूपांतरण, अत्यंत बड़ी संख्याओं के लिए समर्थन प्रदान करता है और कुछ ऑनलाइन टूल में से एक के रूप में बाइनरी रूप में नकारात्मक संख्याओं को सही ढंग से संभालता है

यह संख्या प्रणाली कनवर्टर क्या कर सकता है?

इस विजेट को विकसित करते समय, हमने प्रोग्रामरों की सबसे आम समस्याओं को हल करने पर ध्यान केंद्रित किया:

  1. वास्तविक समय में प्रतिक्रियाशीलता: कोई “गणना करें” बटन नहीं। HEX फ़ील्ड में लिखना शुरू करें और तुरंत देखें कि BIN और DEC कैसे बदलते हैं।
  2. नकारात्मक संख्याओं (हस्ताक्षरित पूर्णांक) के लिए समर्थन: जब आप -5 लिखते हैं तो अधिकांश ऑनलाइन कनवर्टर विफल हो जाते हैं। हम नहीं। बिट गहराई (8, 16, 32, 64 बिट) के विकल्प के कारण, हम दो के पूरक नामक विधि का उपयोग करके प्रोसेसर के सटीक व्यवहार का अनुकरण करते हैं।
  3. बाइनरी कोड की पठनीयता: 1110101011011110 को देखना मुश्किल है। हमारा टूल आउटपुट को 4 बिट्स (निबल्स) के बाद स्वचालित रूप से 1110 1010 1101 1110 में फ़ॉर्मेट कर सकता है, जिससे प्रतिलेखन में त्रुटि दर काफी कम हो जाती है।
  4. BigInt समर्थन: क्या आपको 64-बिट संख्या या हैश को परिवर्तित करने की आवश्यकता है? मानक जावास्क्रिप्ट $2^{53}$ संख्या पर समाप्त होता है। हमारा इंजन “अनसाइंड” मोड में मनमाने ढंग से लंबी संख्याओं को संभाल सकता है।

संख्या प्रणाली मार्गदर्शिका: कब किसका उपयोग करें?

1. दशमलव प्रणाली (DEC - Decimal)

  • आधार: 10 (अंक 0-9)
  • उपयोग: सामान्य जीवन, वित्त, कोड में लूप की गणना।
  • दिलचस्प तथ्य: कंप्यूटर इसे नहीं समझते, उन्हें इसे बाइनरी में बदलना होगा।

2. बाइनरी प्रणाली (BIN - Binary)

  • आधार: 2 (अंक 0, 1)
  • उपयोग: मशीन कोड, लॉजिक गेट्स, IP पतों को मास्क करना।
  • टिप: प्रत्येक अंक एक बिट का प्रतिनिधित्व करता है। 8 बिट 1 बाइट बनाते हैं।

3. हेक्साडेसिमल प्रणाली (HEX - Hexadecimal)

  • आधार: 16 (अंक 0-9, अक्षर A-F)
  • उपयोग: बाइनरी कोड का संक्षिप्त प्रतिनिधित्व। एक HEX वर्ण ठीक 4 बिट (निबल) का प्रतिनिधित्व करता है। दो वर्ण (उदाहरण के लिए, FF) एक पूरे बाइट का प्रतिनिधित्व करते हैं।
  • उदाहरण:
    • वेब रंग: #FF5733 (लाल, हरा, नीला)।
    • MAC पते: 00:1A:2B:3C:4D:5E
    • मेमोरी डंप।

4. ऑक्टल प्रणाली (OCT - Octal)

  • आधार: 8 (अंक 0-7)
  • उपयोग: ऐतिहासिक रूप से पुराने कंप्यूटर, आज मुख्य रूप से लिनक्स अनुमतियां (chmod)।
  • उदाहरण: कमांड chmod 755 rwx-rx-rx (पढ़ने, लिखने, निष्पादित करने) की अनुमतियां सेट करता है।

नकारात्मक संख्याओं के साथ सही ढंग से कैसे काम करें?

यह हमारे कनवर्टर की सबसे उन्नत विशेषता है। कंप्यूटर मेमोरी में कोई “माइनस” चिह्न नहीं होता है। नकारात्मक संख्या को संग्रहीत करने के लिए, कंप्यूटर अक्सर दो के पूरक (Two’s Complement) विधि का उपयोग करता है।

हालांकि, नकारात्मक संख्या के रूपांतरण का परिणाम इस बात पर निर्भर करता है कि चर के लिए कितने बिट आरक्षित हैं। इसलिए, आपको शीर्ष बार में बिट गहराई स्विच मिलेगा।

उदाहरण: संख्या -5 कैसी दिखती है?

इसे हमारे कनवर्टर में स्वयं आज़माएं:

  1. चौड़ाई को 8-बिट पर सेट करें।

    • DEC में दर्ज करें: -5
    • HEX परिणाम: FB
    • BIN परिणाम: 1111 1011
    • स्पष्टीकरण: $256 - 5 = 251$ (जो कि FB है)।
  2. चौड़ाई को 16-बिट पर सेट करें।

    • DEC में दर्ज करें: -5
    • HEX परिणाम: FFFB
    • स्पष्टीकरण: चूंकि हमारे पास अधिक जगह है, “एक” बाईं ओर शेष स्थान को भर देगा।
  3. चौड़ाई को केवल धनात्मक (Unsigned) पर सेट करें।

    • यदि आप -5 दर्ज करते हैं, तो फ़ील्ड लाल हो जाएगा। यह मोड नकारात्मक संख्याओं का समर्थन नहीं करता है, क्योंकि इसके लिए अनंत संख्या में ‘एक’ की आवश्यकता होगी।

प्रो टिप: यदि आप रंगों या IP पतों के साथ काम कर रहे हैं, तो हमेशा “केवल धनात्मक” मोड का उपयोग करें। यदि आप C/C++ या असेंबलर में असाइनमेंट कर रहे हैं, तो 32-बिट या 64-बिट पर स्विच करें।


त्वरित रूपांतरण तालिका (चीट शीट)

त्वरित संदर्भ के लिए, यहां कुछ मूलभूत मान दिए गए हैं जिन्हें प्रत्येक “आईटी पेशेवर” को दिल से जानना चाहिए।

दशमलव (DEC)हेक्साडेसिमल (HEX)बाइनरी (BIN)टिप्पणी
0000000शून्य
1010001
100A1010
150F11114 बिट्स (निबल) का अधिकतम मान
16100001 0000
1277F0111 1111हस्ताक्षरित 8-बिट (char) के लिए अधिकतम मान
255FF1111 1111अहस्ताक्षरित 8-बिट (बाइट) के लिए अधिकतम मान
65 535FFFF16-बिट के लिए अधिकतम मान

अक्सर पूछे जाने वाले प्रश्न (FAQ)

"बिट गहराई" (Bit Depth) का क्या अर्थ है? यह निर्धारित करता है कि हमारे पास संख्या के लिए कितनी मेमोरी आरक्षित है।
  • 8-बिट: मान 0 से 255 तक (या -128 से 127 तक)। यह char या byte प्रकार के अनुरूप है।
  • 16-बिट: मान 65,535 तक। यह short प्रकार के अनुरूप है।
  • 32-बिट: आधुनिक भाषाओं में मानक int
  • 64-बिट: बहुत बड़ी संख्याओं के लिए (long long, BigInt)।
HEX में संख्या 255 को FF के रूप में क्यों लिखा जाता है? हेक्साडेसिमल प्रणाली में 16 अंक (0-9 और A-F) होते हैं, जहाँ F का मान 15 होता है। संख्या FF की गणना इस प्रकार की जाती है: $(15 \times 16^1) + (15 \times 16^0) = 240 + 15 = 255$।
मैं HEX रंग को RGB में कैसे परिवर्तित करूं? वेब पर एक रंग, जैसे #E05412, तीन बाइट्स से बना होता है: लाल (E0), हरा (54), नीला (12)। हमारे कनवर्टर में "E0" को HEX फ़ील्ड में दर्ज करें -> आपको 224 मिलेगा। "54" दर्ज करें -> आपको 84 मिलेगा। "12" दर्ज करें -> आपको 18 मिलेगा। परिणाम rgb(224, 84, 18) है।
0x, 0b या 0o उपसर्ग का क्या अर्थ है? प्रणालियों को अलग करने के लिए, प्रोग्रामर उपसर्गों का उपयोग करते हैं:
  • 0x = हेक्साडेसिमल (उदाहरण के लिए, 0xFF)
  • 0b = बाइनरी (उदाहरण के लिए, 0b101)
  • 0o = ऑक्टल (उदाहरण के लिए, 0o755)
हमारा कनवर्टर इन चिह्नों को पहचानता है, लेकिन उन्हें लिखना आवश्यक नहीं है।
मेरा फ़ील्ड लाल क्यों हो गया? यह इनपुट सत्यापन सुविधा है। इसका मतलब है कि आपने एक ऐसा वर्ण दर्ज किया है जो उस विशेष प्रणाली से संबंधित नहीं है। उदाहरण के लिए:
  • HEX में अक्षर "G" (केवल A-F की अनुमति है)।
  • BIN में अंक "2" (केवल 0 और 1 की अनुमति है)।
  • OCT में अंक "8" (केवल 0-7 की अनुमति है)।
गलती को ठीक करें और गणना जारी रहेगी।