কম্পিউটার কীভাবে দুটো অঙ্ক দিয়ে সবকিছু করে? (গণনা যন্ত্র – পর্ব ১)

আসসালামু আলাইকুম। ছোটবেলাতেই তো আমরা শিখেছি কম্পিউটার মানে ‘গণনা যন্ত্র’, তাই না? কিন্তু আধুনিক একটা কম্পিউটার বা স্মার্টফোনকে গণনা যন্ত্র বলা হলে ব্যাপারটা মেনে নেয়া বেশ মুশকিল হয়ে যায়, তাই না? কিন্তু দিনশেষে সবচেয়ে সর্বাধুনিক কম্পিউটারগুলোরও কাজ হলো গণনা করা। গাণিতিক (Arithmetic) আর লজিকাল এই দুই ধরণের হিসেব-নিকেশ করা কম্পিউটারের কাজ।

কীরকম? একটা উদাহরণ দিই। আমরা হয়ত একটা ছবি দেখছি। কম্পিউটার দেখবে ছবিটা অনেকগুলো ছোটছোট এক রঙের ব্লক বা পিক্সেলের সমষ্টি। ছবির রেজ্যুলেশন যদি HD হয়, তাহলে এরকম পিক্সেলের সংখ্যা হবে প্রস্থ বরাবর 720 ও দৈর্ঘ্য বরাবর 1080। এই পিক্সেলগুলো প্রত্যেকটার রংকে সে লাল, সবুজ ও নীল (RGB) তিনটা মান দিয়ে প্রকাশ করবে। আমরা হয়ত একটা পিক্সেলকে দেখছি ক্রিমসন রঙের, কম্পিউটার দেখবে (220, 20, 60) এভাবে। পাশের পিক্সেলটা হয়ত লাল রং, কম্পিউটারের জন্য (255, 0, 0)। এরকম একেকটা পিক্সেল একেক মান দিয়ে প্রকাশ করবে কম্পিউটার। সব মিলিয়ে ছবির দের্ঘ্য, প্রস্থ, আর রঙ মিলিয়ে ত্রিমাত্রিক একটা অ্যারে হিসেবে ছবিটাকে দেখবে কম্পিউটার।

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

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

আমরা খুব ছোট্ট একটা উদাহরণ দিয়ে শুরু করি, ০ আর ১ দিয়ে কীভাবে অন্য কোনকিছু প্রকাশ করা সম্ভব। আমরা ছোটবেলায় অনেকেই পেনসিল ব্যাটারী দিয়ে মোটর চালিয়েছি বা LED লাইট জ্বালিয়েছি। আমাদের ব্যাটারীর একটা + প্রান্ত থাকে, আরেকটা – প্রান্ত। যখন + থেকে – প্রান্ত পর্যন্ত তার দিয়ে একটা নিরবিচ্ছিন্ন পথ আমরা তৈরি হয়, তখন তার মধ্য দিয়ে বিদ্যুৎ প্রবাহ হতে পারে। যদি এই পথে একটা মোটর বা LED থাকে, তখন সেটা বিদ্যুৎ প্রবাহের কারণে চালু হয়।

বিদ্যুৎ প্রবাহের পুরো পথটাকে আমরা বলি ইলেকট্রিক সার্কিট বা বৈদ্যুতিক সার্কিট। বিদ্যুৎ প্রবাহ তখনই হবে যখন + আর – প্রান্তদুটো নিরবিচ্ছিন্নভাবে বিদ্যুৎ পরিবাহী কোন কিছু যেমন তামার তার দিয়ে যুক্ত থাকবে। আমরা সার্কিটে যে সুইচ ব্যবহার করি, সেটা আর কিছুই না, পথটা নিরবিচ্ছিন্ন থাকবে কিনা এটা নিয়ন্ত্রণ করে। যখন সুইচ অফ থাকে, তখন আমাদের বিদ্যুৎ চলাচলের পথ সম্পূর্ণ হয় না। যখন সুইচ অন থাকে, তখন বিদ্যুৎ ব্যাটারীর + প্রান্ত থেকে সুইচ হয়ে LED হয়ে – প্রান্ত পর্যন্ত পরিবহন হতে পারে। ফলে LED জ্বলতে পারে।

এই যে সুইচের দুটো অবস্থা- অফ ও অন, এই দুটোকে আমরা 0 আর 1 বলতে পারি। একইভাবে লাইট না জ্বললে সেটাকে 0 আর জ্বললে সেটাকে 1 বলতে পারি। তাহলে ব্যাটারী = 0 হলে LED = 0 হবে, ব্যাটারী = 1 হলে LED = 1 হবে।

আমরা ডিজিটাল ঘড়ি দেখেছি। এখানে 7 segment display ব্যবহার করা হয়। আমরা চিন্তা করতে পারি এখানে ৭টি LED-র সাহায্যে 0 থেকে 9 পর্যন্ত সবগুলো অঙ্ক প্রকাশ করা হচ্ছে। আমরা এই ৭টি LED-কে সাতটি সুইচ দিয়ে কানেক্ট করছি- ধরা যাক সুইচগুলোর নাম। a, b, c, d, e, f ও g।

এখন আমরা যদি a, b, c, d, e ও f-কে 1 রাখি, g-কে 0 রাখি, তাহলে আমাদের ডিসপ্লেতে 0 প্রদর্শিত হবে। আমরা বলতে পারি এখানে abcdefg = 1111110 মানে হলো 0। একইভাবে 1011011 হলে আমরা 5 পাবো। তাহলে আমরা প্রাথমিক একটা ধারণা পাচ্ছি কীভাবে 1 আর 0 দিয়ে অন্য কোনকিছু উপস্থাপন করা যায়।

আমরা কম্পিউটারকে হার্ডওয়্যার ও অ্যালগরিদমের সমন্বয়ে এমনভাবে ডিজাইন করি যেন এরকম বিভিন্ন অঙ্কের কম্বিনেশনের জন্য বিভিন্ন অঙ্ক, বর্ণ, ছবি প্রভৃতি প্রকাশ করা যায়। যেমন বাইনারি সংখ্যা পদ্ধতিতে আমরা যেকোন সংখ্যাকে 0 ও 1 দিয়ে লিখতে পারি। বাইনারিতে 11 লেখা হলে আমরা বুঝবো তা আমাদের ব্যবহৃত দশমিক পদ্ধতির 3 এর সমতূল্য। ঋণাত্মক সংখ্যাও বাইনারিতে প্রকাশ করা যায়। এক্ষেত্রে আমরা কম্পিউটারকে কম্পিউটারের মত করে বুঝিয়ে দিই 0 ও 1 এর কিছু কিছু কম্বিনেশনকে ঋণাত্মক হিসেবে উপস্থাপন করতে। বিভিন্ন বর্ণ, সংখ্যা ও চিহ্নের জন্য আমরা ইউনিকোড নামে এক ধরণের এনকোডিং ব্যবহার করি। এই পদ্ধতিতে ১৬টি ০ ও ১ এর সমন্বয়ে আমরা 65536 রকমের প্রতীককে প্রকাশ করতে পারি।

Leave a Reply

Your email address will not be published. Required fields are marked *