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

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
#8
vote_ok
von Sito (100 Punkte) - 08.10.2018 um 14:51 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;

namespace Augfabe_189
{
    class Program
    {
        static void Main(string[] args)
        {
            string eingabe = "";
            int eingabelänge = 0;
            int binär = 0;            
            bool wahr = false;
            
            eingabe = Eingabe(eingabe);
            Berechnung(eingabe, wahr, eingabelänge, binär);          
            Console.ReadLine();            
        }
        public static void Berechnung(string eingabe, bool wahr, int eingabelänge, int binär)
        {
            List<int> listbinär = new List<int>();
            double index = -1;
            double zwischen = 0;

            if (CheckZahl(eingabe, wahr) == true)
            {
                eingabelänge = eingabe.Length;
                binär = Convert.ToInt32(eingabe);

                for (int i = 1; i <= eingabelänge; i++)
                {
                    listbinär.Add(binär % 10);
                    binär /= 10;
                }
                Console.WriteLine();
                for (int i = 0; i <= listbinär.Count - 1; i++)
                {
                    double pow = Convert.ToInt32(i);
                    index = listbinär[i] * Math.Pow(2, pow);
                    zwischen = zwischen + index;
                }
                Console.WriteLine("Dezimal: "+zwischen);
            }
            else
            {
                Console.WriteLine("Keine Binaere Zahl eingegeben");
                eingabe = Eingabe(eingabe);
                Berechnung(eingabe, wahr, eingabelänge, binär);
            }
        }
        public static bool CheckZahl(string eingabe, bool wahr)
        {
            for (int i = 0; i < eingabe.Length; i++)
            {
                if (!(eingabe[i] == '1' || eingabe[i] == '0'))
                {
                    return wahr = false;
                }               
            }
            return wahr = true;
        }
        public static string Eingabe(string eingabe)
        {           
            Console.WriteLine("Binaerzahl eingeben;");
            return eingabe = Console.ReadLine();
        }
    }
}

Kommentare:

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

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