Friday, December 10, 2010

बायनरीशी दोस्ती...


बायनरी हा शब्द जेव्हा १०-११ वर्षांपूर्वी मी प्रथमच ऐकला तेव्हा तो काहिसा विचित्रच वाटला. बाय म्हणजे काहीतरी जीवशास्त्राशी निगडीत असावे असा माझा समज होता. प्रत्यक्षात ’बाय’ नव्हे तर ’बायो’चा संबंध जीवशास्त्राशी आहे, हे मला नंतर समजले. ग्रामीण विचारधारणेचे आम्ही या संकल्पनेशी जुळवून घ्यायला काहीसा वेळ लागला. संगणक अभियांत्रिकीच्या पदविकेला (मराठीत: कॉम्प्युटर इंजिनियरिंग डिप्लोमा) प्रवेश घेतला तेव्हा पहिल्याच वर्षी ’Introduction to Computer System’ हा विषय अभ्यासाला होता. आमचे माननीय शिरढोणकर सर तो विषय शिकवत. या विषयामध्येच बायनरी या संकल्पनेची प्रथम ओळख झाली. बायनरी म्हणजे दोन अंकांची अंकपद्धती असते, हे या विषयात पहिल्यांदा समजले. आपली अंकपद्धती ही ० ते ९ अशा दहा अंकांची असते तशीच बायनरी अंकपद्धती ही केवळ दोनच अंकांनी बनलेली आहे, हे मला प्रथम समजल्यावर मात्र मी चाटच पडलो. आमच्या सरांनी सांगितले की, आपला संगणक अर्थात कॉम्प्युटर याच दोन अंकांनी सर्व गणिते करतो...! माझा तर यावर प्रथम विश्वासच बसला नाही. केवळ शून्य व एक याच दोन अंकांचा वापर करुन बेरीज, वजाबाकी, भागाकार व गुणाकार करणे कसे शक्य आहे? हा मोठ्ठा प्रश्न मला तेव्हा पडला. कदाचित आपली कॉम्प्युटर इंजिनियरिंग असाच वेगळ्या पद्धतीने शिकावी लागणार हे मला तेव्हाच ज्ञात झाले. कॉम्प्युटरला आपली भाषा समजत नाही, हे मात्र मान्य होण्यासारखे होते. पण, तो केवळ शून्य व एक या दोनच अंकांमध्ये खेळतो, हे मात्र विस्मयास्पद वाटले.

आपण वापरतो ती दशमान अर्थात डेसिमल अंकपद्धती आहे. ती संगणकास समजत नाही. त्याकरिता अशा अंकांचे रुपांतर बायनरी मध्ये करावे लागते, हे सरांनी सांगितले व ते रूपांतर कसे करायचे, हेही शिकवले. मला अजुनही माझे हसू येते की, गणितात वापरल्या जाणाऱ्या कितीतरी संज्ञांना इंग्रजीत काय म्हणतात? हे मला माहितच नव्हते. त्यामुळे शिक्षकांनी दिलेले स्पष्टीकरण, नीटसे समजायचे नाही. न्युमरेटर म्हणजे अंश व डिनॉमिनेटर म्हणजे छेद हे मात्र लवकरच पाठ झाले. परंतु, भागाकारातील डिव्हीडंड, डिव्हायज़र, क्वोशंट व रीमेंडर या संज्ञा मात्र लवकर समजल्या नाहीत. त्यातल्या त्यात रीमेंडर हा नक्की काय प्रकार असतो तेच समजायचे नाही. माझ्यासोबत शिकणारे जवळपास सर्वच बारावी करुन आले होते. त्यामुळे त्यांना हा संज्ञा आधीच ज्ञात झाल्या होत्या. पण, माझ्या डोक्याचे मात्र इंग्रजीतल्या नव्या संज्ञांमुळे दही होत होत होते याची कल्पना केवळ मलाच होती. सरांनी डेसिमलमधुन बायनरी करण्यासाठी खालील एक उदाहरण दिले होते:

समजा २३ या क्रमांकाचा बायनरी काढायचा असेल तर त्याला दोनने भागत जायचे, ही पद्धत थोडीसी समजली होती. जसे...

२ । २३ । १

२ । ११ । १

२ । ५ । १

२ । २ । ०

२ । १

२३ = १०१११ (बायनरी)

जोपर्यंत ती संख्या १ होत नाही तोपर्यंत प्रत्येक वेळेस तीला दोनने भागत जायचे. पण, त्यासंख्येपुढे ० किंवा १ का लिहायचे? ही गोष्ट मात्र मला कळत नव्हती. तीला सर रीमेंडर म्हणून संबोधायचे. ह्या रीमेंडरचा नक्की उपयोग काय? ह्या प्रश्नाने माझे डोके हैराण झाले होते. शिवाय कोणाला विचारायचीही माझी हिम्मत होत नव्हती...! घरी आल्यावर ह्याच प्रश्नावर पुन्हा विचारमंथन सुरू केले. त्यानंतर थोडा क्लू मिळाला. जिथे मधली संख्या ही विषम असेल त्याच्यापुढे १ लिहायचा व जर सम असेल तर शून्य लिहायचा...! माझी ही मात्रा लागू पडली व डेसिमल मधुन बायनरी रूपांतर मला जमू लागले. माझे उत्तर जरी बरोबर असले तरी त्यामागचे लॉजिक मात्र चुकिचे होते हे मला खूप नंतर लक्षात आले. द्वितीय वर्षाला ’Digital Techniques’ हा विषय पूर्णपणे याच एक व शून्य अंकांवर आधारित होता. या दोन संख्यांशी कसे खेळायचे याचा खेळ या विषयात मांडलेला होता. या विषयात मला तब्बल ८८ गुण मिळाले होते. पण, गुण इतके मिळाले असले तरी या सर्व बायनरी फापटपसाऱ्याचा संगणकाला नक्की उपयोग कुठे? याचे उत्तर मात्र मिळाले नाही. “कॉम्प्युटर ऑर्गनायझेशन” या विषयात मात्र हे उत्तर मला मिळाले...! Computer is Logic but not a Magic ही गोष्ट पटली. एक व शून्य या डिजिटल अंकांचा वापर करून संगणकतज्ञांनी आपल्यासाठी हे किती अद्भूत यंत्र बनविले आहे, याचे ज्ञान मात्र मिळाले. माणूस खरोखर खूप हुशार प्राणी आहे, त्यात विशेषत: संगणक व त्याच्या तर्कशास्त्र निर्माण करणाऱयांना मी विशेष दाद देईल. संगणक बनविणे ही खरोखर मोठी विस्मयकारक बाब होती. पण, मानवाने ती प्रत्यक्ष आणून दाखवली. Hats off to all of them…!

त्यामुळेच बायनरी अंकगणिताची माझी दोस्ती पक्की झाली...! आजही बायनरीच्या विविध समस्या सोडवताना मला माझी ’बायनरी’ सुरूवात नेहमी आठवते. मला वाटते, ज्यांना खरोखर जाणून घ्यायचे असेल की संगणक ही चीज काय आहे, त्यांनी बायनरी अंकगणिताशी नक्की दोस्ती करावी. खरोखर तर्कशास्त्राचा कस लागावा अशीच ही एक गोष्ट होय....