C# :: Aufgabe #189 :: Lösung #9

9 Lösungen Lösungen öffentlich
#189

Zahlen umwandeln: Binär zu Dezimal

Anfänger - C# von Nachbar - 13.09.2017 um 14:19 Uhr
Schreibe eine Funktion, die Zahlen aus dem Dualsystem in Zahlen des Dezimalsystems umwandelt.

Beispiel:

Binär: 11010
Dezimal: 26
#9
vote_ok
von RevTreb (860 Punkte) - 13.12.2018 um 16:25 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Linq;

namespace Aufgabe189
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Bitte Dualzahl eingeben: ");
            string bin = Console.ReadLine();
            Console.WriteLine("Binär: " + bin);
            Console.WriteLine("Dezimal: " + BinToDec(bin));
            Console.ReadLine();
        }

        static long BinToDec(string bin)
        {
            char[] allowedChars = { '0', '1' };
           
            long retval = 0;
            for (int i = 0; i < bin.Length ; i++)
            {
                char c = bin[bin.Length - 1 - i];
                if (!allowedChars.Contains(c))
                    throw new ArgumentException("Keine gültige Dualzahl", bin);
                int posval = (int)char.GetNumericValue(c);

                retval = retval + (int)Math.Pow(2,i)*posval;
            }
            return retval;
        }
    }
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben