C# BCD-Code in Dezimal

10/08/2013 16:36 Zocker1#1
Hallo ich hab hier ein kleines Programm geschrieben welches einen BCD-Code in eine Dezimalzahl umwandelt.(Arbeitsauftrag von einem Lehrer meiner Schule)
Zurzeit funktioniert es wenn man den BCD-Code in folgendem Format eingiebt(z.B.: 100100010000) ich hätte aber gern das ich beim Einlesen auch Spaces verwenden darf(z.B.:1001 0001 0000)
Hier ist dann auch schon mein Problem ich hab viel versucht aber ich schaffs nicht die Leerzeichen dann wieder zu entfernen.

Bitte um Hilfe :P

Code:
using System;



    class Program
    {
        static void Main()
        {
            int dec1 = 0;
            String bcd;
            int count1 = 0, count2 = 0;
            bool comp = false;


            Console.Write("Bitte geben Sie Ihren BCD-Code ein! :  ");
            bcd = Console.ReadLine();
            Console.WriteLine();
            if (bcd.Length % 4 == 0)
                comp = true;



            for (int a = 1; a <= bcd.Length; a++)
            {
                if (bcd[a - 1] == '0' || bcd[a - 1] == '1')
                    count1++;


            }

            while (count1 != bcd.Length || comp == false)
            {
                count1 = 0;
                Console.WriteLine("Dies ist kein BCD-Code(Bsp.:000111111110).");
                Console.Write("Bitte geben Sie Ihren BCD-Code ein! :  ");
                bcd = Console.ReadLine();
                Console.WriteLine();

                if (bcd.Length % 4 == 0)
                    comp = true;

                for (int a = 1; a <= bcd.Length; a++)
                {
                    if (bcd[a - 1] == '0' || bcd[a - 1] == '1')
                        count1++;
                }
            }




            int[] dec2 = new int[bcd.Length / 4];

            for (int b = 1; b <= bcd.Length; b = b + 4)
            {
                if (bcd[b - 1] == '1')
                    dec1 = dec1 + 8;
                if (bcd[b] == '1')
                    dec1 = dec1 + 4;
                if (bcd[b + 1] == '1')
                    dec1 = dec1 + 2;
                if (bcd[b + 2] == '1')
                    dec1++;

                dec2[count2] = dec1;
                count2++;
                dec1 = 0;


            }
            Console.Write("Ihre Dezimalzahl lautet: ");
            foreach (int elem in dec2)
                Console.Write(elem);


            Console.WriteLine("\n\n");






        }
    }
10/08/2013 16:40 qkuh#2
string str = "1001 0001 0000";
str = str.Replace(" ", "");

BTW: Falscher Bereich
10/08/2013 16:46 Zocker1#3
Das hab ich versucht hab aber einfache Anführungszeichen verwendet...(leerzeichen gibs nicht leerstring schon D: )
Vielen Dank :P
Und das mit dem falschen Bereich tut mir leid