সংখ্যা পদ্ধতিঃ
আমি আগের পোস্টে কম্পিউটার প্রোগ্রামিং নিয়ে পোস্ট করলেও এবার একটু অন্য দিকে যাই। এবার আমি সংখ্যা পদ্ধতি সম্পর্কে আলোচনা করবো। মূলত কম্পিউটার আমাদের ভাষা বুঝতে পারে না। কম্পিউটার শুধু ০ আর ১ বুঝতে পারে। আর আমরা যা ই দেই না কেন তা কম্পিউটার ০ এবং ১ এ কনভার্ট করে ,তারপর বুঝতে পারে। আর একে মেশিন ল্যাঙ্গুয়েজ বলে।এখন আসল কথাই যাই। সংখ্যা পদ্ধতিঃ
মূলত চার ধরনের সংখ্যা পদ্ধতি বিদ্যমান ।যথাঃ
১ঃ বাইনারি২ঃ অক্টাল
৩ঃ ডেসিমাল
৪ঃ হেক্সাডেসিমাল
এদের মধ্যে বাইনারি হল দুই ভিত্তিক ,যেমনঃ 1010। অক্টাল আট ভিত্তিক ,যেমনঃ 3476। ডেসিমাল দশ ভিত্তিক , যেমনঃ 2354 ।হেক্সাডেসিমাল ষোল ভিত্তিক,যেমনঃ AB78 ।এর মধ্যে আমরা দৈনন্দিন কাজে ডেসিমাল টা ব্যবহার করে থাকি । আর আমরা যদি ডেসিমাল থেকে বাইনারি তে কনভার্ট শিখতে পারি তবে আমরা সহজেই ডেসিমাল থেকে অক্টাল , ডেসিমাল থেকে হেক্সাডেসিমাল করতে পারবো। আমার যদি বাইনারি থেকে ডেসিমাল শিখি তবে সহজেই অক্টাল , হেক্সাডেসিমাল থেকে ডেসিমাল করতে পারবো।
ডেসিমাল থেকে বাইনারিঃ
ডেসিমাল থেকে বাইনারিতে কনভার্ট করা মূলত বেশী কঠিন কাজ না। নতুন নতুন করলে কঠিন লাগতে পারে। তবে এখন কাজের কথাই আসা যাক। আমরা একটা ডেসিমাল সংখ্যা নিলাম ২৪। এখন একে বাইনারি তে রূপান্তর করতে হবে। যেহেতু বাইনারি দুই ভিত্তিক তাই দুই দিয়ে ভাগ করে যেতে হবে। আর ভাগশেষ গুলো পাশে লিখে রাখতে হবে নিচের চিত্রের মত করে।
১।ডেসিমাল থেকে বাইনারি। |
এখানে প্রথমে ২৪ কে দুই দিয়ে ভাগ করা হয়েছে। তখন ভাগশেষ ০ থাকে। আর ভাগ করার ফলে তা ১২ হয়ে যায় নিচে। আবার ১২ কে দুই দিয়ে ভাগ করা হয়েছে।সেখানেও ভাগশেষ ০ থাকে। এভাবে ৬ কে দুই দিয়ে ভাগ করা হয়েছে। ভাগশেষ ০। এবার ৩ কে দুই দিয়ে ভাগ করা হয়েছে তাবে ভাগশেষ থাকে ১। এবাং অবশিষ্ট থাকে ১। এবার ১ এক দুই তা ভাগ করলে ভাগশেষ ১ থাকে। এবার যে আমরা হিসাব করলাম তার নিচ দিক থেকে উপরে যেতে হবে। অর্থাৎ এখানে বাইনারি মান হবে ১১০০০। এভাবেই আমরা ডেসিমাল থেকে বাইনারিতে কনভার্ট করতে পারব যে কোন সংখ্যা।
এবার আসি দশমিক এর ক্ষেত্রে। মনে করি একটা দশমিক সংখ্যা আছে ২৪.৩৪৫ । একে বাইনারিতে কনভার্ট করতে হবে। আমরা আগেই ২৪ কে বাইনারিতে কনভার্ট করেছে কিন্তু .৩৪৫ কে কিভাবে কনভার্ট করবো? এবার করা যাক
এখানে ০.345 কে প্রথমে দুই দিয়ে গুন করতে হবে। যতক্ষন না পর্যন্ত পূর্ণ সংখ্যা হয়। এবার পূর্ণ সংখ্যা হইলেই অর্থাৎ দ্বিতীয় লাইনের মত এবার পূর্ণ সংখ্যা হইলেই পূর্ণ সংখ্যাটি বাহির করে রাখতে হবে। উপরের চিত্রের মত। এভাবে ৩-৪ বার বাহির করলেই হবে। এবং এবার বাইনারি মান দেখতে হলে উপর থেকে নিচে নামতে হবে। উপরের চিত্রের মত করে। সুতরাং 24.450 এর বাইনারি মান হবে 11000.01011
দশমিক সংখ্যার বাইনারি |
। এভাবে আমরা বাইনারিতে রূপান্তর করতে পারি। এখন আমরা শিখবো বাইনারি থেকে ডেসিমালে কিভাবে কনভার্ট করতে হয়।
বাইনারি থেকে ডেসিমালে কনভার্টঃ
আমরা উপরে শিখলাম কিভাবে ডেসিমাল থেকে বাইনারিতে প্রকাশ করতে হয়। এবার আমরা শিখব কিভাবে বাইনারি থেকে ডেসিমালে প্রকাশ করতে হয়।আমরা একটা বাইনারি মান পেয়েছি উপরে 11000.01011 দেখি এ থেকে আমরা ডেসিমালে প্রকাশ করতে পারি কিনা। প্রথমে 11000 এর জন্য আমরা
(1*2^4)+(1*2^3)+(0*2^2)+(0*2^1)+(0*2^0)=>16+8=24
আমরা এখানে (^) চিহ্ন দিয়ে পাওয়ার বুঝিয়েছি।এখানে আমরা ডান দিক থেকে বাম দিকে গিয়েছি।প্রথম সংখ্যার জন্য দুই এর পাওয়ার ০ নিয়েছি। এভাবে ক্রমান্বয়ে দ্বিতীয় টির জন্য ১, তৃতীয় টির জন্য ২ এভাবে গিয়েছি। শেষে যোগ করে আমরা যোগফল ২৪ পেয়েছি। আগেও আমরা ২৪ এর বাইনারি মান বের করে এই মানটা পেয়েছিলাম।
এখন দেখব দশমিকের বাইনারি মান কেমনে ডেসিমালে বের করতে হয়।
এখানে .01011 এর জন্য আমরা বাম দিক থেকে ডান দিকে আসবো । অর্থাৎ 0 থেকে শুরু হবে। এখনেও পাওয়ার হবে কিন্তু তা ইনভারস পাওয়ার। এখন দেখা যাক
0 . (0*2^ -1)+(1*2^ -2)+( 0 * 2 ^ -3) +(1*2^ -4) +(1*2^-5)=0.345
এখানে বাম দিক থেকে শুরু হয়েছে । কিন্তু পূর্ণ সংখ্যাতে যেমন পাওয়ার ০ দিয়ে শুরু হয়েছে এখানে কিন্তু তা হয়নি এখানে পাওয়ার (-1) দিয়ে শুরু হয়েছে। আর এভাবে মান বের করে আমরা ডেসিমাল থেকে বাইনারি, বাইনারি থেকে ডেসিমাল করতে পারি।
অন্যান্যঃ
আমরা এই প্রক্রিয়া প্রয়োগ করেই অক্টাল (আট ভিত্তিক) , হেক্সাডেসিমাল (ষোল ভিত্তিক) সংখ্যা থেকে ডেসিমাল এবাং ডেসিমাল থেকে অক্টাল ,হেক্সাডেসিমাল এ রূপান্তর করতে পারি। তবে হেক্সাডেসিমালে রূপান্তরের সময় 10=A , 11=B , 12=C , 13=D , 14=E , 15=F ধরে কাজ করতে হবে। এখন নিজে নিজেই প্র্যাকটিস করতে পারো।
ধন্যবাদ সবাইকে । :) :)
আর আমার লিখাটিতে কোন ভূল থাকলে নিচে কমেন্টে বলতে পারেন। আর লিখাটি ভালো লাগ্লে শেয়ার করতে পারেন :)
Comments
Post a Comment