|| NOTICE BOARD ||

* * * THIS BLOG CAN BE BEST VIEWED ON GOOGLE CHROME * * * Quitters never win Winners never quit * * *

Sunday, July 5, 2009

जय-किशन|| JAY-KISHAN PART - 2(What is Binary Number System?)

2. BINARY NUMBER SYSTEM
[पानी पीने के बाद दोनों फिर इकट्ठे होते हैं और चर्चा का विषय है Binary Number System]
जय - देखो, मैंने Binary Number System की परिभाषा ढूढ़ ली है। B.Ram की किताब Fundamentals of Microprocessors and Microcomputers (4th Edition) के पेज ३० पर लिखा है कि "In the binary number system there are only two digits 0 and 1. The binary digits are called bits. The base of binary number system is 2." लेकिन इससे यह बात साफ नहीं होती कि जब कम्प्यूटर में केवल २ डिजिट 0 और 1 ही होते हैं तो हम हर तरह की जटिल से जटिल गणनाएं कैसे कर सकते हैं? अगर कम्प्यूटर 0 और 1 समझता है तो हम उसे 0 और 1 के बाद 2, 3, 4, ......क्यों नहीं समझा सकते? हजार तरह के नम्बर सिस्टम बनाने की क्या जरूरत है?

किशन - अरे... अरे....! तुमने तो प्रश्नों की झड़ी लगा दी। एक-एक प्रश्न पर विचार करते हैं। जो तुमने कहा कि कम्प्यूटर 0 और 1 समझता है, यह बात बिल्कुल गलत है। कम्प्यूटर एक मशीन है और उसमें उसकी खुद की समझ है ही नहीं। इसमें अत्यन्त सूक्ष्म एवं जटिल सर्किट होते हैं। उन सर्किटों में किसी खास समय में या तो धारा प्रवाहित हो रही होगी या नहीं हो रही होगी। जब धारा प्रवाहित होती रहती है तो हम उसे ON या HIGH बोलते हैं तथा जब धारा का प्रवाह बन्द होता है तब उसे हम OFF या LOW बोलते हैं। अब कल्पना करो किसी ऐसी सर्किट की जिसमें सैकड़ों INPUT और सैकड़ों OUTPUT हों। इस सर्किट की स्थिति को स्पष्ट करने के लिए प्रत्येक INPUT और OUTPUT को ON/HIGH या OFF/LOW के रूप में व्यक्त करना काफी मुश्किल का काम होगा। इसी मुश्किल हो हल करने के लिए वैज्ञानिकों ने ON/HIGH के लिए 1 और OFF/LOW के लिए 0 संकेत का प्रयोग करना शुरू किया जिससे सर्किट को समझना काफी सरल हो गया।
जय - ये बात तो समझ में आ गयी कि Binary number system में केवल दो डिजिट होते हैं 0 और 1 और इन्हें बिट कहते हैं तथा इस नम्बर सिस्टम का बेस 2 होता है। लेकिन ये तो बताओ कि किसी संख्या में किसी बिट का Weight कैसे पता करते हैं?
किशन - यह तो बहुत ही आसान है। किसी Binary number में उसके प्रत्येक बिट का Weight उसकी Position पर निर्भर करता है, जिसे हम निम्न फार्मूले की सहायता से पता कर सकते हैं-
The value of nth bit of the number from the right side = nth bit x 2 ^n-1 OR
= nth bit x (base)^n-1
जय - इसका मतलब तो यह हुआ कि इस फार्मूले का प्रयोग करके हम किसी भी बाइनरी नम्बर को Decimal number में बदल भी सकते हैं।
किशन-Exactly ............ किसी भी number system को Decimal number में बदलना बिल्कुल आसान है। इसे हम एक उदाहरण से समझते हैं-
माना Binary number 10101 को Decimal number में बदलना है तो इसके लिए सबसे पहले हम Binary number की बिट पोजीशन पता करेंगे। यह बिट पोजीशन 1 से शुरू होता है तथा गणना दाहिने से बाएं ओर की जाती है।
Binary number 1 0 1 0 1
Bit Position 5 4 3 2 1
अब फार्मूला का प्रयोग करेंगे The value of nth bit of the number from the right side = nth bit x 2^ n-1
इस फार्मूले का प्रयोग करके हम हम बिट का Weight पता कर लेते हैं और फिर इन्हें आपस में जोड़कर Decimal number प्राप्त कर लेते हैं।
Binary number 1 0 1 0 1
Bit Position 5 4 3 2 1

Weight 1 x 2^4+ 0 x 2^3 + 1 x 2^2 + 0 x 2^1 + 1 x 2^0
16 + 0 + 4 + 0 +1
21 (Decimal)
इस विधि का प्रयोग करके हम किसी भी नम्बर सिस्टम का समतुल्य Decimal number प्राप्त कर सकते हैं। ध्यान रहे कि फार्मूला में बेस का मान नम्बर सिस्टम के अनुसार बदलता रहेगा। जैसे Octal number system का बेस 8 होता है, Hexa-Decimal number system का बेस 16 होता है।
जय - एक मिनट........! ये Octal और Hexa-decimal बीच में कहां से टपक पड़े? कुछ इनका परिचय भी तो मिलना चाहिए...
किशन - Octal और Hexa-decimal , ये दोनो भी कम्प्यूटर जगत में प्रयोग होने वाले अन्य महत्वपूर्ण नम्बर सिस्टम हैं। Octal Number system में 0 से 7 तक कुल 8 डिजिट होते हैं तथा इसका बेस 8 होता है। इसी प्रकार Hexa-Decimal number system में 0 से लेकर 15 तक कुल 16 डिजिट होते हैं तथा इसका बेस 16 होता है।
जय -
Octal Number system तो समझ में आ गया लेकिन तुमने अभी बताया कि Hexa-Decimal number system में 0 से 15 तक कुल 16 अंक होते हैं। ऐसे में अगर किसी ने 15 (Fifteen) लिखा है तो इसे हम 1 5 (One Five) भी तो पढ़ सकते हैं। इस स्थिति में 15 और 1 5 में अन्तर कैसे करते हैं।
किशन- जय तुमने बहुत अच्छा प्रश्न किया। इस समस्या के बचने के लिए ही
Hexa-Decimal number system में 9 के बाद की संख्याओं 10, 11, 12, 13, 14 एवं 15 को अभिव्यक्त करने के लिए एक खास तरीका अपनाया जाता है। यानि कि 10(ten) को A, 11 को B से, 12 को C से, 13 को D से, 14 को E से तथा 15 को F से अभिव्यक्त करते हैं।
जय - ये तो बड़ा ही अच्छा और आसान तरीका है। अब ये बताओ कि क्या Octal number और Hexa-decimal number से भी Decimal number प्राप्त किया जा सकता है?
किशन - क्यों नहीं........। इसके लिए भी वही फार्मूला प्रयोग किया जाता है जो Binary number से Decimal नम्बर प्राप्त करने के लिए प्रयुक्त होता है। बस बेस का मान नम्बर सिस्टम के अनुसार बदलना होता है। सबसे पहले हम देखते हैं कि Octal number से Decimal number कैसे प्राप्त करते हैं-
Octal Number : 6 4 5
Bit Position: 3 2 1
Formula : Weight = nth bit x (base)^n-1
= 6 x 8^2 + 4 x 8^1 + 5 x 8^0
= 384 + 32 + 5
= 421 (Decimal)

इसी प्रकार Hexa-decimal number से Decimal number भी प्राप्त किया जा सकता है -
Hexa-Decimal Number : 5 A 9
Bit Position : 3 2 1
Formula : Weight = nth bit x (base)^n-1
= 5 x 16^2 + 10x 16^1 + 9 x 16^0
= 1280 + 160 + 9
= 1449 (Decimal)

जय - ये तो रही बात विभिन्न नम्बर सिस्टम से Decimal number प्राप्त करने की। ... पर क्या Decimal number से विभिन्न number system के समतुल्य संख्याएं प्राप्त की जा सकती है?
किशन - क्यों नहीं। हम decimal number से किसी भी number system का समतुल्य संख्या प्राप्त कर सकते है और यह बहुत ही आसन भी है। लेकिन आज के लिए इतना ही काफी है। इसके बारे में हम अगले दिन चर्चा करेंगे। अभी बहुत जोरों की भूख लगी है। घर चलते हैं।
[ दोनों अपने-अपने घरों को चले जाते हैं।]

0 Comments:

इस ब्लाग की सामग्री को यथाशुद्ध प्रस्तुत करने का प्रयास किया गया है फिर भी किसी भी त्रुटि के लिए प्रकाशक जिम्मेदार नहीं होगा