Conversion
সংখ্যা রূপান্তর
সংখ্যা রূপান্তর (Number System Conversion)
ভূমিকা — চার ভাষার মধ্যে অনুবাদ
কল্পনা করো চারটি দেশের মানুষ একসাথে কথা বলছে। একজন Decimal বোঝে, একজন Binary বোঝে, একজন Octal, একজন Hexadecimal। তাদের মধ্যে যোগাযোগ করতে হলে অনুবাদ দরকার।
Computer Science-এ এই অনুবাদকেই বলে Number System Conversion।
কেন জরুরি? Computer শুধু Binary বোঝে। কিন্তু মানুষ Decimal-এ ভাবে। Programmer Hex-এ কাজ করে। System admin Octal ব্যবহার করে। তাই সবগুলোর মধ্যে রূপান্তর জানা আবশ্যক।
Conversion কেন দরকার?
মানুষ লেখে: 100 (Decimal)
Computer বোঝে: 1100100 (Binary)
Programmer দেখে: 64 (Hex)
Unix বলে: 144 (Octal)
এই চারটি একই সংখ্যা — শুধু ভিন্ন ভাষায় লেখা!
চিত্রের মাধ্যমে বোঝো — Conversion Matrix
Decimal
↗ ↘
Octal ←→ Hexadecimal
↘ ↗
Binary
(সমস্ত পথ দুই দিকেই কাজ করে)
মোট ১২টি Conversion path আছে। এই পাঠে সবগুলো শিখবো।
বাস্তব জীবনের সাথে মিল
উপমা: Temperature conversion মনে করো — একই তাপমাত্রা Celsius-এ 100°C, Fahrenheit-এ 212°F, Kelvin-এ 373K। সংখ্যা আলাদা কিন্তু real world-এর মান একই। Number System Conversion-ও ঠিক তাই — একই সংখ্যা বিভিন্ন base-এ।
Module 1: Decimal → অন্যান্য সংখ্যা পদ্ধতি
📌 পদ্ধতি: বারবার ভাগ (Repeated Division)
Decimal সংখ্যাকে যে base-এ রূপান্তর করতে চাও সেই base দিয়ে বারবার ভাগ করো। Remainder গুলো নিচ থেকে উপরে পড়লে সেই base-এ সংখ্যা পাবে।
Decimal → Binary (÷2 পদ্ধতি)
Decimal 13 → Binary:
13 ÷ 2 = 6, remainder 1 ← LSB (সবচেয়ে ডানে)
6 ÷ 2 = 3, remainder 0
3 ÷ 2 = 1, remainder 1
1 ÷ 2 = 0, remainder 1 ← MSB (সবচেয়ে বামে)
নিচ থেকে উপরে: 1, 1, 0, 1 → 1101₂
যাচাই: 1×8+1×4+0×2+1×1 = 8+4+0+1 = 13 ✅
আরেকটি উদাহরণ — Decimal 25 → Binary:
25 ÷ 2 = 12, remainder 1
12 ÷ 2 = 6, remainder 0
6 ÷ 2 = 3, remainder 0
3 ÷ 2 = 1, remainder 1
1 ÷ 2 = 0, remainder 1
নিচ থেকে: 1, 1, 0, 0, 1 → 11001₂
যাচাই: 16+8+1 = 25 ✅
Decimal → Octal (÷8 পদ্ধতি)
Decimal 83 → Octal:
83 ÷ 8 = 10, remainder 3
10 ÷ 8 = 1, remainder 2
1 ÷ 8 = 0, remainder 1
নিচ থেকে: 1, 2, 3 → 123₈
যাচাই: 64+16+3 = 83 ✅
Decimal → Hex (÷16 পদ্ধতি)
Decimal 255 → Hex:
255 ÷ 16 = 15, remainder 15 (=F)
15 ÷ 16 = 0, remainder 15 (=F)
নিচ থেকে: F, F → FF₁₆
যাচাই: 15×16+15 = 255 ✅
আরেকটি উদাহরণ — Decimal 4096 → Hex:
4096 ÷ 16 = 256, remainder 0
256 ÷ 16 = 16, remainder 0
16 ÷ 16 = 1, remainder 0
1 ÷ 16 = 0, remainder 1
নিচ থেকে: 1, 0, 0, 0 → 1000₁₆
যাচাই: 1×4096 = 4096 ✅
Module 2: Binary → অন্যান্য সংখ্যা পদ্ধতি
Binary → Decimal (Positional Sum পদ্ধতি)
প্রতিটি bit × তার position-এর 2^n, সব যোগ করো।
Binary 1010₂ → Decimal:
1×2³ + 0×2² + 1×2¹ + 0×2⁰
= 8 + 0 + 2 + 0
= 10₁₀ ✅
Binary 110011₂ → Decimal:
1×2⁵ + 1×2⁴ + 0×2³ + 0×2² + 1×2¹ + 1×2⁰
= 32 + 16 + 0 + 0 + 2 + 1
= 51₁₀ ✅
Binary → Octal (Group-of-3 পদ্ধতি)
ডান থেকে ৩টি করে Binary digit গ্রুপ করো। বাম দিকে কম থাকলে 0 যোগ করো।
Binary 101110₂ → Octal:
ধাপ ১: ডান থেকে গ্রুপ: 101 110
ধাপ ২: প্রতিটি → Octal:
101 = 5
110 = 6
ফলাফল: 56₈
যাচাই: 5×8+6 = 46
101110₂ = 32+8+4+2 = 46 ✅
Binary 11010110₂ → Octal:
গ্রুপ: 011 010 110
(বাম দিকে 0 যোগ: 011)
011 = 3
010 = 2
110 = 6
ফলাফল: 326₈ ✅
Binary → Hex (Group-of-4 পদ্ধতি)
ডান থেকে ৪টি করে Binary digit গ্রুপ করো।
Binary 11011110₂ → Hex:
ধাপ ১: ৪টি করে: 1101 1110
ধাপ ২: → Hex:
1101 = D (13)
1110 = E (14)
ফলাফল: DE₁₆
যাচাই: 13×16+14 = 208+14 = 222
11011110₂ = 128+64+16+8+4+2 = 222 ✅
Module 3: Octal → অন্যান্য সংখ্যা পদ্ধতি
Octal → Decimal (Positional Sum পদ্ধতি)
Octal 175₈ → Decimal:
1×8² + 7×8¹ + 5×8⁰
= 64 + 56 + 5
= 125₁₀ ✅
Octal → Binary (প্রতিটি digit → 3-bit পদ্ধতি)
প্রতিটি Octal digit-কে তার সমতুল 3-bit Binary-তে রূপান্তর করো।
Octal 37₈ → Binary:
3 → 011
7 → 111
ফলাফল: 011111₂ = 11111₂
যাচাই: 3×8+7 = 31
11111₂ = 16+8+4+2+1 = 31 ✅
Octal → Hex (Binary মাধ্যমে)
Octal → Binary → Hex (সরাসরি পথ নেই, Binary মধ্যবর্তী ধাপ):
Octal 37₈ → Hex:
ধাপ ১: Octal → Binary: 37₈ = 011111₂
ধাপ ২: Binary → Hex (৪টি করে): 001 1111 → 0001 1111
1 F
ফলাফল: 1F₁₆
যাচাই: 1×16+15 = 31 ✅
Module 4: Hex → অন্যান্য সংখ্যা পদ্ধতি
Hex → Decimal (Positional Sum পদ্ধতি)
Hex 2AF₁₆ → Decimal:
2×16² + A×16¹ + F×16⁰
= 2×256 + 10×16 + 15×1
= 512 + 160 + 15
= 687₁₀ ✅
Hex → Binary (প্রতিটি digit → 4-bit পদ্ধতি)
Hex 3C₁₆ → Binary:
3 → 0011
C → 1100
ফলাফল: 00111100₂ = 111100₂
যাচাই: 3×16+12 = 60
111100₂ = 32+16+8+4 = 60 ✅
Hex → Octal (Binary মাধ্যমে)
Hex 1F₁₆ → Octal:
ধাপ ১: Hex → Binary: 1=0001, F=1111 → 00011111₂
ধাপ ২: Binary → Octal (৩টি করে): 000 011 111
0 3 7
ফলাফল: 37₈
যাচাই: 1×16+15 = 31 এবং 3×8+7 = 31 ✅
Module 5: ভগ্নাংশ রূপান্তর (Fractional Conversion)
Decimal Fraction → Binary
বারবার 2 দিয়ে গুণ করো। প্রতিবার integer অংশ নাও (0 বা 1), ভগ্নাংশ অংশ নিয়ে আবার গুণ। উপর থেকে নিচে পড়লে Binary fraction পাবে।
Decimal 0.75 → Binary:
0.75 × 2 = 1.50 → integer part: 1 ← MSB
0.50 × 2 = 1.00 → integer part: 1 ← LSB
উপর থেকে: 1, 1 → 0.11₂
যাচাই: 0.5 + 0.25 = 0.75 ✅
Decimal 0.625 → Binary:
0.625 × 2 = 1.250 → 1 ← MSB
0.250 × 2 = 0.500 → 0
0.500 × 2 = 1.000 → 1 ← LSB
উপর থেকে: 1, 0, 1 → 0.101₂
যাচাই: 0.5 + 0.125 = 0.625 ✅
⚠️ সতর্কতা: কিছু fraction-এর Binary representation শেষ হয় না। যেমন Decimal 0.1 → Binary-তে recurring (0.000110011...)। এই ধরনের প্রশ্নে সাধারণত নির্দিষ্ট কয়েকটি ঘর পর্যন্ত বলতে বলে।
Mixed Number (Integer + Fraction)
Decimal 13.75 → Binary:
Integer part: 13₁₀ = 1101₂ (÷2 পদ্ধতি)
Fraction part: 0.75₁₀ = 0.11₂ (×2 পদ্ধতি)
Combined: 1101.11₂ ✅
Quick Reference Table — সব Conversion পদ্ধতি
| From | To | পদ্ধতি |
|---|---|---|
| Decimal | Binary | ÷2, remainder নিচ থেকে পড়ো |
| Decimal | Octal | ÷8, remainder নিচ থেকে পড়ো |
| Decimal | Hex | ÷16, remainder নিচ থেকে পড়ো |
| Binary | Decimal | Σ (bit × 2^position) |
| Binary | Octal | ডান থেকে ৩টি করে group |
| Binary | Hex | ডান থেকে ৪টি করে group |
| Octal | Decimal | Σ (digit × 8^position) |
| Octal | Binary | প্রতিটি digit → 3-bit |
| Hex | Decimal | Σ (digit × 16^position) |
| Hex | Binary | প্রতিটি digit → 4-bit |
| Octal ↔ Hex | দুটোর যেকোনো | Binary মাধ্যমে |
| Decimal Fraction | Binary | ×2, integer part উপর থেকে |
Module 6: বাস্তব প্রয়োগ
- 🖥️ Assembly Programming: হাতে Memory address Hex-এ লেখা, debug করা
- 🐧 Unix Permissions:
chmod 644→ 6=110₂, 4=100₂ — permission check - 🎨 Web Design: CSS color
#1ABC9C→ Decimal RGB values বের করা - 🔌 Networking: IP address Binary conversion, Subnet mask calculation
- 💾 File Systems: Sector size, block size — সব Binary/Hex calculation
🧠 মূল শিক্ষা
মনে রাখো: সব conversion-এর মূলে দুটো কৌশল — (1) ভাগ পদ্ধতি (Decimal → other): বারবার base দিয়ে ভাগ, remainder নিচ থেকে পড়ো। (2) Positional Sum (other → Decimal): digit × base^position যোগ করো। Binary↔Octal এবং Binary↔Hex-এর জন্য special shortcut: grouping।
🔁 নিজে পরীক্ষা করো
❓ প্রশ্ন ১: Decimal → Binary conversion-এ কীভাবে Remainder পড়তে হয়?
✅ উত্তর: নিচ থেকে উপরে (বিপরীত ক্রমে)
❓ প্রশ্ন ২: Binary → Octal conversion-এর shortcut কী?
✅ উত্তর: ডান থেকে ৩টি করে bit গ্রুপ করো
❓ প্রশ্ন ৩: Decimal 0.5 → Binary কত?
✅ উত্তর: 0.1₂ (কারণ 0.5×2=1.0, integer part=1)
❓ প্রশ্ন ৪: Octal থেকে Hex-এ সরাসরি পথ আছে কি?
✅ উত্তর: না, Binary মাধ্যমে যেতে হয়
📝 HSC পরীক্ষার প্রস্তুতি
পরীক্ষায় যা আসতে পারে
🎯 সবচেয়ে Common: Decimal → Binary এবং Binary → Decimal — প্রতিটি ধাপ দেখিয়ে।
🎯 Fractional: "Decimal 0.625 কে Binary-তে রূপান্তর করো" — ×2 পদ্ধতি।
🎯 Shortcut question: "Binary 11010110 কে Octal এবং Hex-এ রূপান্তর করো।"
🎯 Table question: কোনো conversion-এর সম্পূর্ণ working table।
সাধারণ ভুলসমূহ
⚠️ ভুল ১: Remainder উপর থেকে পড়া — সঠিক: নিচ থেকে।
⚠️ ভুল ২: Fractional conversion-এ integer part নিচ থেকে পড়া — সঠিক: উপর থেকে।
⚠️ ভুল ৩: Binary → Octal-এ বাম থেকে group করা — সঠিক: ডান থেকে।
⚠️ ভুল ৪: Remainder 10–15-কে A–F দিয়ে প্রতিস্থাপন না করা (Hex conversion-এ)।
মনে রাখার কৌশল
💡 "ভাগ নিচে, গুণ উপরে" — Decimal→other = ÷ = read bottom-up; Fraction = × = read top-down।
✅ সারাংশ
Integer Conversion:
- Decimal → অন্য: base দিয়ে বারবার ÷, remainder নিচ থেকে পড়ো
- অন্য → Decimal: প্রতিটি digit × base^position, সব যোগ করো
- Binary ↔ Octal: ৩-bit grouping shortcut
- Binary ↔ Hex: ৪-bit grouping shortcut
- Octal ↔ Hex: Binary মাধ্যমে
Fractional Conversion:
- Decimal fraction → Binary: ×2 পুনরাবৃত্তি, integer part উপর থেকে নাও
🎯 অনুশীলন প্রশ্ন
-
Decimal → Binary:
- 45 = ?₂
- 100 = ?₂
- 255 = ?₂
-
Binary → Decimal:
- 10111₂ = ?
- 11001100₂ = ?
-
Decimal → Hex:
- 128 = ?₁₆
- 1000 = ?₁₆
-
Binary shortcut:
- 11110000₂ = ?₈ এবং ?₁₆
-
Fractional:
- Decimal 0.875 = ?₂
- Decimal 25.5 = ?₂
-
Mixed: Decimal 13.625 কে Binary-তে রূপান্তর করো।