डेसीमल संख्या को अन्य बेस (बाइनरी, ऑक्टल, हेक्साडेसिमल) में कन्वर्ट करने के लिए स्टैक का उपयोग किया जा सकता है। एल्गोरिदम: संख्या को बेस से बार-बार विभाजित करें और शेषफल को स्टैक में पुश करें।
उदाहरण
using System;
using System.Collections.Generic;
class Demo {
static void Main() {
int n = 45; // डेसीमल संख्या
int baseNum = 2; // बेस 2 (बाइनरी), 8 (ऑक्टल), 16 (हेक्स)
Stack s = new Stack();
do {
s.Push(n % baseNum);
n /= baseNum;
} while (n != 0);
Console.Write("परिणाम... ");
while(s.Count > 0) {
Console.Write(s.Pop());
}
Console.WriteLine();
}
}
आउटपुट (बेस 2 के लिए)
परिणाम... 101101
बिल्ट-इन मेथड्स (सरल तरीका):
int num = 45;
Console.WriteLine(Convert.ToString(num, 2)); // बाइनरी: 101101
Console.WriteLine(Convert.ToString(num, 8)); // ऑक्टल: 55
Console.WriteLine(Convert.ToString(num, 16)); // हेक्स: 2D
स्टैक विधि के लाभ:
- एल्गोरिदम समझने के लिए शैक्षिक
- कस्टम बेस के लिए काम करता है (2-36)
- डिजिट-बाय-डिजिट प्रोसेसिंग की अनुमति देता है