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
2094508

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.