コード例 #1
0
ファイル: Program.cs プロジェクト: Fleischhauer/Zahlensysteme
    static void Main(string[] args)
    {
        // Testübergabewert
        int testwert = 125;

        // Ausgabe
        Console.WriteLine("Eingabewert: " + testwert);
        Console.WriteLine(); // Leerzeile

        Console.WriteLine("Ausgabe via dezimalZuAll:");
        Zahlensysteme.dezimalZuAll(testwert);

        Console.WriteLine(); // Leerzeile
        Console.WriteLine("Ausgabe via direktem Aufruf:");
        Console.Write("dezimalZuDual: ");
        Console.WriteLine(Zahlensysteme.dezimalZuDual(testwert));
        Console.Write("dezimalZuOcta: ");
        Console.WriteLine(Zahlensysteme.dezimalZuOcta(testwert));
        Console.Write("dezimalZuHex: ");
        Console.WriteLine(Zahlensysteme.dezimalZuHex(testwert));
    }
コード例 #2
0
        /// <summary>
        /// Converts a dezimal value to the specified zahlensystem
        /// </summary>
        /// <param name="dezimal">The dezimal.</param>
        /// <param name="zahlensystem">The zahlensystem.</param>
        /// <returns></returns>
        public static string ConvertToZahlensystem(int dezimal, Zahlensysteme zahlensystem)
        {
            switch (zahlensystem)
            {
            case Zahlensysteme.Dual:
            {
                var output = "";

                while (dezimal > 0)
                {
                    output   = (dezimal % 2) + output;
                    dezimal /= 2;
                }

                return(Prefix ? "0d" + output : output + "d");
            }

            case Zahlensysteme.Oktal:
            {
                var output = "";

                while (dezimal > 0)
                {
                    output   = (dezimal % 8) + output;
                    dezimal /= 8;
                }

                return(Prefix ? "0k" + output : output + "o");
            }

            case Zahlensysteme.Hexadezimal:
            {
                var output = "";

                while (dezimal > 0)
                {
                    var rest = dezimal % 16;

                    if (rest == 10)
                    {
                        output = 'a' + output;
                    }
                    else if (rest == 11)
                    {
                        output = 'b' + output;
                    }
                    else if (rest == 12)
                    {
                        output = 'c' + output;
                    }
                    else if (rest == 13)
                    {
                        output = 'd' + output;
                    }
                    else if (rest == 14)
                    {
                        output = 'e' + output;
                    }
                    else if (rest == 15)
                    {
                        output = 'f' + output;
                    }
                    else
                    {
                        output = rest + output;
                    }

                    dezimal /= 16;
                }

                return(Prefix ? "0x" + output : output + "h");
            }
            }

            return(dezimal.ToString());
        }