static void Main(string[] args) { int max = 71; string tmp; bool way = true; Console.Clear(); Console.WriteLine("Demonstration of ahbsd.lib.numbersystems"); Console.WriteLine("========================================"); Console.WriteLine("By default the way of calculation is"); Console.WriteLine("displayed. If you want to turn that off,"); Console.Write("start with {0} false\n", "Test"); Console.WriteLine(); if (args.Length >= 1) { if (args.Contains("true") || args.Contains("false")) { if (args.Contains("true")) { way = true; } else if (args.Contains("false")) { way = false; } } } try { List <IBase> l = new List <IBase>(max); for (int i = 2; i < max + 2; i++) { l.Add(new Base((uint)i)); Console.WriteLine(l[i - 2]); } // ulong v = 12387643555634563003; Console.WriteLine("Enter V (decimal):"); uint v = uint.Parse(Console.ReadLine()); // uint b = 1024; Console.WriteLine("Enter b (base):"); uint b = uint.Parse(Console.ReadLine()); Console.WriteLine(string.Format("Enter a value of base {0} ({1}):", Base.GetSignByNumber(b), b)); string c = Console.ReadLine(); if (way) { List <string> erg; erg = Base.Base10toBaseX(v, b, way); tmp = erg[0]; WriteErg(erg); erg = Base.BaseXtoBase10(tmp, b, way); WriteErg(erg); erg = Base.BaseXtoBase10(c, b, way); WriteErg(erg); // */ erg = Base.BaseXtoBaseY(c, v, b, way); WriteErg(erg); } else { string erg; ulong erg2; erg = Base.Base10toBaseX(v, b); tmp = erg; Console.Write("Conversion {0} (of base 10) to base {1}: {2}", v, b, erg); Console.WriteLine(); erg2 = Base.BaseXtoBase10(tmp, b); Console.Write("Conversion {0} (of base {1}) to base 10: {2}", tmp, b, erg2); Console.WriteLine(); erg2 = Base.BaseXtoBase10(c, b); Console.Write("Conversion {0} (of base {1}) to base 10: {2}", c, b, erg2); Console.WriteLine(); erg = Base.BaseXtoBaseY(c, v, b); Console.Write("Conversion {0} (of base {1}) to base {2}: {3}", c, v, b, erg); Console.WriteLine(); } } catch (OutOfRangeException ox) { Console.WriteLine("********** Out of range exception ************"); Console.Write("TryBase: {0}", ox.TryBase.ToString()); Console.WriteLine(); Console.WriteLine("Message:"); Console.WriteLine(ox.Message); Console.WriteLine("StackTrace:"); Console.WriteLine(ox.StackTrace); Console.WriteLine("**********************************************"); } catch (Exception ex) { Console.WriteLine("*************** Exception ********************"); Console.Write("Exception type: {0}", ex.GetType().FullName); Console.WriteLine(); Console.WriteLine("Message:"); Console.WriteLine(ex.Message); Console.WriteLine("StackTrace:"); Console.WriteLine(ex.StackTrace); Console.WriteLine("**********************************************"); } }