ডেসিমেল থেকে বাইনারী সংখ্যায় রূপান্তরের জন্য 2 দিয়ে ভাগ করা ছাড়া বিকল্প বা সংক্ষিপ্ত আর কোন নিয়ম আছে কি-না? কেননা এ নিয়মে বড় সংখ্যাকে বাইনারী করা বেশ সময় সাপেক্ষ।
আপনি ২^০, ২^১ এভাবে ২ এর অনেকগুলো পাওয়ার মুখস্ত রাকলে বিয়োগ করেও ডেসিমেল থেকে বাইনারিতে নিতে পারবেন।
মনে করুন ৩০০ কে আমরা বাইনারীতে নিতে চাই।
এখন আমরা জানি ২^৮ = ২৫৬, ২^৯ = ৫১২।
৩০০ - ২৫৬ = ৪৪ (২^৮ যে বিয়োগ করেছি সেটা মনে রাখব) এভাবে আগাতে থাকলে...
| হিসাব | বিয়োগ করেছি | মনে রেখেছি |
|---|
| ৩০০ - ২৫৬ = ৪৪ | ২^৮ | ৮ |
| ৪৪ - ৩২ = ১২ | ২^৫ | ৮, ৫ |
| ১২ - ৮ = ৪ | ২^৩ | ৮, ৫, ৩ |
| ৪ - ৪ = ০ | ২^২ | ৮, ৫, ৩, ২ |
সুতরাং বাইনারি হবে,
| _৮_ | ৭ | ৬ | _৫_ | ৪ | _৩_ | _২_ | ১ | ০ |
|--------|
| ১ | ০ | ০ | ১ | ০ | ১ | ১ | ০ | ০ |
সুতরাং ২ এর যে পাওয়ারগুলো বিয়োগ করেছি সেগুলোতে ১ আর বাকীগুলোতে ০।
লক্ষ্য করুন যে ০ তম বিট এও ০ লিখেছি। কখনো যদি শেষ স্টেপে ১ বিয়োগ করা লাগে তাহলে শেষ বিটটা ১ হবে। কারণ ২^০ = ১।
বিট আকারে বের করা যায়। তবে এটি ২ এর ঘাত ০-৮ পর্যন্ত নিয়ে বিট আকারে বের করা যায়।
২^০ = ১
২^১= ২
.
.
.
২^৮=২৫৬
যে বিট গুলোর যোগফল ডেসিমাল সংখ্যা হয় সে গুলো ১ ও বাকি বিট গুলো ০ দ্বারা প্রকাশ করতে হয়।
আমার তৈরী বক্স পদ্ধতির দ্বারা আমি ডেসিলাম থেকে সব বের করি। তবে সবার ভিত্তি আগের মতোই।
আপনি ২^০, ২^১ এভাবে ২ এর অনেকগুলো পাওয়ার মুখস্ত রাকলে বিয়োগ করেও ডেসিমেল থেকে বাইনারিতে নিতে পারবেন।
মনে করুন ৩০০ কে আমরা বাইনারীতে নিতে চাই।
এখন আমরা জানি ২^৮ = ২৫৬, ২^৯ = ৫১২।
৩০০ - ২৫৬ = ৪৪ (২^৮ যে বিয়োগ করেছি সেটা মনে রাখব) এভাবে আগাতে থাকলে...
| হিসাব | বিয়োগ করেছি | মনে রেখেছি |
|---|
| ৩০০ - ২৫৬ = ৪৪ | ২^৮ | ৮ |
| ৪৪ - ৩২ = ১২ | ২^৫ | ৮, ৫ |
| ১২ - ৮ = ৪ | ২^৩ | ৮, ৫, ৩ |
| ৪ - ৪ = ০ | ২^২ | ৮, ৫, ৩, ২ |
সুতরাং বাইনারি হবে,
| _৮_ | ৭ | ৬ | _৫_ | ৪ | _৩_ | _২_ | ১ | ০ |
|--------|
| ১ | ০ | ০ | ১ | ০ | ১ | ১ | ০ | ০ |
সুতরাং ২ এর যে পাওয়ারগুলো বিয়োগ করেছি সেগুলোতে ১ আর বাকীগুলোতে ০।
লক্ষ্য করুন যে ০ তম বিট এও ০ লিখেছি। কখনো যদি শেষ স্টেপে ১ বিয়োগ করা লাগে তাহলে শেষ বিটটা ১ হবে। কারণ ২^০ = ১।