কম্পিউটার কীভাবে শুধু ০ ও ১ দিয়ে কাজ করে? দ্বিমিক……

বাংলায় জানার নতুন ঠিকানা

কম্পিউটার কীভাবে শুধু ০ ও ১ দিয়ে কাজ করে? দ্বিমিক সংখ্যা থেকে জটিল গণনার বিজ্ঞান

কম্পিউটার কীভাবে শুধু ০ ও ১ দিয়ে কাজ করে? দ্বিমিক সংখ্যা থেকে জটিল গণনার বিজ্ঞান
দুটি অবস্থার অসংখ্য বিন্যাস থেকেই তৈরি হয় জটিল গণনার জগৎ।

কম্পিউটারে আমরা সিনেমা দেখি, গান শুনি, ছবি আঁকি এবং পৃথিবীর অন্য প্রান্তের মানুষের সঙ্গে কথা বলি। অথচ এসব কাজের গভীরে রয়েছে মাত্র দুটি প্রতীক—০ এবং ১। শুনতে অবিশ্বাস্য লাগলেও এর মধ্যে কোনো জাদু নেই। দুটি অবস্থাকে অসংখ্যভাবে সাজানো, সেই বিন্যাসের অর্থ নির্ধারণ করা এবং নির্দিষ্ট নিয়মে পরিবর্তন করার মাধ্যমেই জটিল কাজ সম্ভব হয়। যেমন অল্প কয়েকটি বর্ণ দিয়ে অসংখ্য বাক্য লেখা যায়, তেমনি দুটি প্রতীক দিয়েও বিপুল পরিমাণ তথ্য প্রকাশ করা যায়।

কম্পিউটারের ভেতরে অবশ্য ছোট ছোট শূন্য ও এক লেখা থাকে না। এগুলো বাস্তব অবস্থার প্রতীক। বৈদ্যুতিক বর্তনীতে নির্দিষ্ট সীমার নিচের ও ওপরের বিভবকে দুটি আলাদা যৌক্তিক অবস্থা হিসেবে ব্যবহার করা যায়। সংরক্ষণমাধ্যমে আবার বৈদ্যুতিক আধান বা চৌম্বকীয় অবস্থার পার্থক্য তথ্য ধরে রাখতে পারে। প্রযুক্তিভেদে বাস্তব ব্যবস্থা আলাদা হলেও মূল ধারণা একই: দুটি অবস্থাকে নির্ভরযোগ্যভাবে আলাদা করা। তাই ০ মানেই সর্বত্র বিদ্যুৎ নেই এবং ১ মানেই বিদ্যুৎ আছে—এমন ব্যাখ্যা অতিরিক্ত সরল।

এই দুটি অবস্থার একটি ধারণ করতে পারে এমন তথ্যের একককে বিট বলা হয়। একটি বিটে সম্ভাবনা দুটি, কিন্তু দুটি বিটে চারটি বিন্যাস সম্ভব: ০০, ০১, ১০ ও ১১। তিনটি বিটে আটটি এবং আটটি বিটে দুইশ ছাপ্পান্নটি বিন্যাস হয়। আট বিটকে সাধারণত এক বাইট বলা হয়। প্রতিটি নতুন বিট সম্ভাব্য বিন্যাসের সংখ্যা দ্বিগুণ করে। এভাবেই খুব অল্প প্রতীক ব্যবহার করেও সংখ্যার বিশাল পরিসর, অক্ষর বা বিভিন্ন নির্দেশনা প্রকাশ করা সম্ভব হয়।

সংখ্যা লেখার ক্ষেত্রে কম্পিউটার সাধারণত দ্বিমিক পদ্ধতি ব্যবহার করে। আমাদের দশমিক পদ্ধতিতে ডান দিক থেকে ঘরগুলোর মান এক, দশ, একশ করে বাড়ে। দ্বিমিক পদ্ধতিতে সেগুলো এক, দুই, চার, আট করে বাড়ে। যেমন দ্বিমিক ১১০১ সংখ্যাটির অর্থ আটের সঙ্গে চার এবং এক যোগ করা, অর্থাৎ দশমিক তেরো। বড় সংখ্যা, ঋণাত্মক সংখ্যা কিংবা ভগ্নাংশ প্রকাশের জন্যও নির্দিষ্ট বিন্যাস রয়েছে। তবে সীমিত সংখ্যক বিট দিয়ে সব বাস্তব সংখ্যাকে নিখুঁতভাবে প্রকাশ করা যায় না; অনেক হিসাবেই কাছাকাছি মান ব্যবহৃত হয়।

লেখা প্রকাশের জন্য দরকার অক্ষর ও সংখ্যার মধ্যে সম্মত সম্পর্ক। একটি অক্ষরকে নির্দিষ্ট সাংকেতিক সংখ্যা দেওয়া হয়, তারপর সেই সংখ্যা দ্বিমিক বিন্যাসে রাখা হয়। ইউনিকোডের মতো মান বিভিন্ন ভাষার অক্ষর ও চিহ্নের পরিচয় নির্ধারণ করে। এরপর উপযুক্ত সংকেতায়ন অনুযায়ী সেগুলো বাইটে সংরক্ষিত হয়। বাংলা যুক্তাক্ষরের ক্ষেত্রে একাধিক উপাদান মিলিয়ে দৃশ্যমান অক্ষরগুচ্ছ তৈরি হতে পারে। তাই একটি দেখা অক্ষর সব সময় একটি বাইট বা একটি সাংকেতিক সংখ্যার সমান নয়। অক্ষরকে পর্দায় আঁকতে আবার হরফের নকশাও লাগে।

ছবির ক্ষেত্রেও তথ্য সংখ্যায় প্রকাশ করা যায়। একটি সাধারণ বিন্দুভিত্তিক ছবি অসংখ্য ক্ষুদ্র পিক্সেল দিয়ে গঠিত। প্রতিটি পিক্সেলের রং প্রকাশ করতে লাল, সবুজ ও নীলের মতো উপাদানের মাত্রা ব্যবহার করা হয়। এসব মাত্রা সংখ্যা, আর সংখ্যাগুলো দ্বিমিক বিন্যাসে রাখা যায়। পর্দা সেই মান অনুসারে আলো তৈরি করে, ফলে আমরা ছবি দেখি। বাস্তবে ছবির নথিতে সংকোচনসহ আরও অনেক নিয়ম থাকতে পারে। তাই ছবির সংরক্ষিত প্রতিটি বাইট সরাসরি একটি পিক্সেলের রং বোঝায় না।

শব্দকে সংখ্যায় রূপান্তরের প্রক্রিয়া কিছুটা ভিন্ন। বায়ুর কম্পন থেকে তৈরি সংকেতকে নির্দিষ্ট সময় পরপর মেপে মান নেওয়া হয়। এই নমুনাগুলো সংখ্যায় প্রকাশ ও সংরক্ষণ করা যায়। বাজানোর সময় যন্ত্র সংখ্যাগুলো থেকে বৈদ্যুতিক সংকেত তৈরি করে এবং স্পিকার বাতাসে কম্পন ঘটায়। নমুনা নেওয়ার হার ও প্রতিটি মান প্রকাশের নির্ভুলতা শব্দের বৈশিষ্ট্যে প্রভাব ফেলে। এখানেও গান সংরক্ষণের সময় সংকোচন ব্যবহার করা হতে পারে; কম্পিউটারকে সংশ্লিষ্ট নিয়ম মেনে তথ্য খুলে নিতে হয়।

কিন্তু তথ্য রেখে দেওয়া আর তা নিয়ে কাজ করা এক বিষয় নয়। কাজ করার জন্য কম্পিউটারের ভেতরে রয়েছে ট্রানজিস্টর দিয়ে তৈরি বর্তনী। ট্রানজিস্টরকে নিয়ন্ত্রিত বৈদ্যুতিক সুইচের সঙ্গে তুলনা করা যায়। এগুলো বিশেষভাবে যুক্ত করে তৈরি হয় যুক্তিদ্বার, যা ইনপুটের ভিত্তিতে আউটপুট দেয়। কোনো দ্বার দুটি ইনপুটই ১ হলে আউটপুট ১ করে; অন্যটি অন্তত একটি ১ পেলেই ১ দেয়। এমন কিছু মৌলিক নিয়ম মিলিয়েই তুলনা, নির্বাচন ও গাণিতিক হিসাবের বর্তনী তৈরি করা যায়।

দুটি বিট যোগ করার মতো ছোট কাজেও এই যুক্তিদ্বার কাজে লাগে। ১-এর সঙ্গে ১ যোগ করলে দ্বিমিক ফল হয় ১০—একটি ঘরে ০ থাকে, পরের ঘরে ১ বহন হয়। এই নিয়ম বাস্তবায়নকারী ছোট বর্তনী পাশাপাশি বসিয়ে বড় সংখ্যার যোগ করা যায়। একইভাবে বিয়োগ, গুণ ও অন্যান্য কাজের ব্যবস্থা তৈরি হয়। জটিল হিসাব তাই এক লাফে ঘটে না; অনেক ছোট ধাপের সমন্বয়ে সম্পন্ন হয়। দ্রুতগতিতে বিপুলসংখ্যক ধাপ চালাতে পারাই কম্পিউটারের বড় শক্তি।

কোন কাজটি কখন হবে, তা নির্ধারণ করে কর্মসূচির নির্দেশনা। নির্দেশনাও নির্দিষ্ট দ্বিমিক বিন্যাসে প্রকাশিত হতে পারে। প্রসেসর নির্দেশনা সংগ্রহ করে, তার অর্থ শনাক্ত করে এবং সংশ্লিষ্ট কাজ সম্পন্ন করে। কোনো নির্দেশনা যোগ করতে বলে, কোনোটি স্মৃতি থেকে তথ্য আনতে বলে, আবার কোনোটি ফলের ভিত্তিতে পরবর্তী পথ বদলায়। এই শর্তভিত্তিক পথ নির্বাচন ও একই কাজ পুনরাবৃত্তির ক্ষমতা অত্যন্ত গুরুত্বপূর্ণ। এর সাহায্যে সহজ নিয়ম থেকে হিসাবের খাতা, খেলা কিংবা ছবি সম্পাদনার মতো বড় কর্মসূচি তৈরি হয়।

একই বিটের বিন্যাস ভিন্ন পরিস্থিতিতে ভিন্ন অর্থ বহন করতে পারে। কোনো বিন্যাসকে সংখ্যা হিসেবে পড়া যায়, আবার নির্দিষ্ট নিয়মে সেটি অক্ষর, রঙের মান বা নির্দেশনার অংশ হতে পারে। অর্থ নির্ভর করে তথ্যের ধরন এবং ব্যবহারের নিয়মের ওপর। ভিডিও চলার সময়ও ছবি, শব্দ, সময়ের তথ্য ও নির্দেশনা সমন্বিতভাবে প্রক্রিয়াকৃত হয়। ব্যবহারকারী একটি মসৃণ দৃশ্য দেখলেও আড়ালে অসংখ্য ছোট গণনা, তথ্য স্থানান্তর ও সিদ্ধান্ত চলতে থাকে।

দুটি অবস্থা ব্যবহারের সুবিধা হলো বাস্তব যন্ত্রে তাদের তুলনামূলক নির্ভরযোগ্যভাবে আলাদা করা যায়। সামান্য বৈদ্যুতিক গোলমাল হলেও নির্ধারিত সীমার মধ্যে সংকেতকে একই যৌক্তিক অবস্থায় ধরা সম্ভব। তবে ভুল একেবারে হয় না, এমন নয়; তাই অনেক ব্যবস্থায় ত্রুটি শনাক্ত ও সংশোধনের পদ্ধতি থাকে। কম্পিউটারের ক্ষমতা শেষ পর্যন্ত শুধু ০ ও ১ থেকে আসে না। আসে সেগুলোর অর্থ নির্ধারণের নিয়ম, দ্রুত বর্তনী, সংগঠিত স্মৃতি এবং মানুষের তৈরি কার্যকর ধাপসমষ্টি থেকে।