সবাই জানে কম্পিউটারে শুধুমাত্র ০ ও ১ সংখ্যাদ্বয় দ্বারা সকল কাজ সম্পাদিত হয়। কিন্তু এর কারন পরিষ্কারভাবে অনেকেরই জানা নেই। অবশ্য প্রোগ্রামার বা কম্পিউটার ইন্জিনিয়ারদের সবাই এ সম্পর্কে জানেন। যাদের কাছে ব্যাপারটি পরিষ্কার নয় তাদের সহজভাবে বুঝাতেই লেখা।
প্রথমেই আমাদের জানা দরকার বাইনারি সংখ্যা আসলে কি?
আমরা দৈনন্দিন কাজে যে সংখ্যা পদ্ধতি ব্যবহার করি তার ভিত্তি হল ১০,একে ডেসিমাল পদ্ধতি বলা হয়। বাইনারি সংখ্যা পদ্ধতির ভিত্তি ২। এখন প্রশ্ন হল সংখ্যার ভিত্তি বলতে কি বুঝানো হচেছ? ধরা যাক ডেসিমাল পদ্ধতিতে একটি সংখ্যা ১২৮। সংখ্যাটির প্রতিটি অংকের একটি করে স্থানীয় মান আছে। ১২৮.১ কে আমরা লিখতে পারি এভাবে
১২৮.১ = একশত + বিশ + আট + দশমিক এক = ১*১০০ + ২*১০ * + ৮*১ + ২ *০.১
= ১*১০^২ + ২ *১০^১ + ৮ * ১০^০ + ৮*১০^-১
ডেসিমাল পদ্ধতিতে এভাবেই ১০ এর ঘাত দ্বারা যেকোনো সংখ্যাকে প্রকাশ করা হয়, বাইনারি পদ্ধতিতে প্রকাশ করা হয় ২ এর ঘাত দ্বারা। ডেসিমাল পদ্ধতিতে ১১ কে বাইনারিতে লেখা হয় ১০১১, এবার দেখুন
১০১১ = ১*২^৩ + ০*২^২ + ১*২^১ + ১*২^০
ডেসিমালকে বাইনারিতে রূপান্তরের বিষদ বর্ণনা এখানে দিলাম না। আশা করি মূল ব্যাপারটি ধরতে পেরেছেন। ৮ ভিত্তির সংখ্যা পদ্ধতিতে এভাবে ৮ এর ঘাত ব্যবহার করা হয়।
প্রতিটি বাইনারি অংককে বিট বলা হয়। ১১০১ একটি ৪ বিট সংখ্যা, ১১১১০১০১ হলো একটি ৮ বিট সংখ্যা। পরপর ৮টি বিটের সিকোয়েন্সকে বাইট বলা হয়।
এখন কম্পিউটারে কেন বাইনারি সংখ্যা ব্যবহার করা হয়?
কম্পিউটারে ইলেকট্রনিক সার্কিটে তথ্য সংরক্ষণ করা হয়। সার্কিটগুলো দুই অবস্থায় থাকতে পারে “চালু”, অথবা “বন্ধ”. বন্ধ অবস্থা ০ এবং চালু অবস্থা ১ দ্বারা নির্দেশিত হয়। ধরা যাক ১১ সংখ্যাটিকে কম্পিউটারের একটি মেমরি সেলে সংরক্ষণ করতে হবে। আপনি ইনপুট দেবার পর কম্পিউটার ১১ কে রূপান্তরিত করে বাইনারি ১০১১ এ প্রকাশ করবে যা একটি ৪-বিট সংখ্যা। ৪-বিটের মেমরি সেলে ৪টি সার্কিট থাকে (টেকনিক্যাল ভাষায় যাদের নাম ফ্লিপ-ফ্লপ)। সেলটির ২য় সার্কিট বাদে সবগুলো সার্কিট চালু করে দিলে নিম্নের অবস্থা সৃষ্টি হবে:
১ম সার্কিট : ১(=চালু)
২য় সার্কিট : ০(=বন্ধ)
৩য় সার্কিট : ১(=চালু)
৪র্থ সার্কিট : ১(=চালু)
এভাবে রেজিস্টারে ১১ সংখ্যাটি ১১০১ রূপে সংরক্ষিত হবে। এভাবে খুব সহজে বাইনারি সংখ্যা ব্যবহার করে তথ্য সংরক্ষন করা যায়।
প্রশ্ন আসতে পারে তাহলে কোন ইংরেজি বা বাংলা শব্দ টি কিভাবে মেমোরিতে সংরক্ষন করা হয়? এখানেও বাইনারি! ASCII Code, UNICODE শব্দগুলো সবার পরিচিত। প্রতিটি অক্ষরের জন্য একটি বাইনারি কোড আছে। যেমন ধরুন আপনি “b” অক্ষরটি সংরক্ষণ করতে চান। b এর ASCII code হলো ০১১০০০১০ যা কম্পিউটারের আগে থেকেই জানানো থাকে। আপনি ‘b’ ইনপুট দিলে কম্পিউটার ০১১০০০১০ কে মেমরি সেলে সংরক্ষণ করবে, এক্ষেত্রে নূন্যতম ৮-বিট মেমরি সেল দরকার। এভাবে প্রতিটি ক্যারেক্টারের unique কোড দ্বারা কম্পিউটার ইনপুট সনাক্ত ও সংরক্ষণ করে। ASCII হলো ৮ বিটের কোড , Unicode হলো ১৬ বিটের কোড যা অধিক ক্যারেক্টার চিন্হিত করতে সক্ষম।
কম্পিউটার শুধুমাত্র “মেশিন ভাষা” দ্বারা যাবতীয় কাজ সম্পাদন করে। বিদ্যুত প্রবাহের মাধ্যমে সমস্ত কাজ করা হয়,বিদ্যুত প্রবাহের উপস্থিতিকে ১, অনুপস্থিতিকে ০ ধরা হয়। আপনি কম্পিউটারে যে কাজই করুন না কেন, সেটাকে ডিকোড করে ০ ও ১ এ পরিণত করা হয়। আপনি C\Basic ভাষায় প্রোগ্রাম লিখলে কম্পিউটার সেটাকে মেশিন ভাষায় পরিণত করে প্রোগ্রাম রান করবে। আপনার সুন্দর wallpaper কম্পিউটারের কাছে বিভিন্ন সার্কিটে বিদ্যুতের উপস্থিতি বা অনুপস্থিতি, ০ বা ১! আপনি যে গান শুনছেন সেটাও ০ ও ১।
এবার আসা যাক ডাটা স্থানান্তরের ব্যাপারে। আপনার পিসি থেকে আমার পিসিতে একটি ফাইল পাঠানোর আগে ফাইলটিকে ০ ও ১ এর সিকোয়েন্সে পরিণত করা হবে। এবার সেই সিকোয়েন্স অনুসারে সিগনাল আমার পিসিতে আসবে, আমার পিসি সেটা ডিকোড করে মনিটরে প্রদর্শন করবে। ধরা যাক যখনই নির্দিষ্ট 'v' ভোল্টের সিগন্যাল আমার পিসিতে আসবে তখন পিসি সেটাকে ১ মনে করবে, এর থেকে কম-বেশী হলে ০ মনে করবে। প্যারিটি বিট নামক একটি পদ্ধতির সাহায্য আগত ডাটায় ভূল থাকলে তা ধরা পড়ে
এতক্ষনে নিশ্চয় বুঝে গেছেন মেগাবাইট, গিগাবাইট ইত্যাদির হিসাব বাইনারি থেকেই এসেছে।
২টি মাত্র অবস্থা প্রদর্শন করে এমন হার্ডওয়্যার তৈরি করা সহজ ও সাশ্রয়ী। প্রথমদিকের কিছু কম্পিউটারে ডেসিমাল পদ্ধতি ব্যবহার করা হয়েছিল। সেগুলো সার্কিট ছিল অকল্পনীয় জটিল, সাধারণ হিসাবের কাজ করতেই সেগুলোর অনেক সময় লেগে যেত।
যারা প্রোগ্রামিং করেন তারা জানেন কম্পিউটার মূলত ৩টি লজিক দিয়ে কাজ করে, এগুলো হল And, Or, Not। এগুলো 2-valued লজিক, তাই বাইনারি সংখ্যাপদ্ধতির সাথে এসব লজিক সরাসরি সম্পর্কিত।
এই হলো মোটামুটি কম্পিউটারের বাইনারি সংখ্যা ব্যবহার করার প্রধান কারণসমূহ। এখানে ইচ্ছা করেই টেকনিক্যাল ব্যাপারগুলো সংক্ষেপে সহজ করে বলেছি,আরো বিস্তারিত জানতে হলো গুগলে সার্চ দিতে পারেন।
Thursday, January 7, 2010
Subscribe to:
Post Comments (Atom)

0 comments:
Post a Comment