1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

C#: Dualzahl in Dezimalzahl umwandeln

Diskutiere C#: Dualzahl in Dezimalzahl umwandeln im Lehrling und Studi Forum Forum im Bereich WEITERE ELEKTROTECHNISCHE BEREICHE; AW: C#: Dualzahl in Dezimalzahl umwandeln Ich habe jetzt für den Dual --> Dezimal Button folgendes geschrieben: tbxDezimal.Clear();...

  1. #11 Elektrohauer, 02.05.2012
    Elektrohauer

    Elektrohauer Strippenstrolch

    Dabei seit:
    16.07.2008
    Beiträge:
    123
    Zustimmungen:
    0
    AW: C#: Dualzahl in Dezimalzahl umwandeln

    Ich habe jetzt für den Dual --> Dezimal Button folgendes geschrieben:

    tbxDezimal.Clear();
    intDual = Convert.ToInt32(tbxDual.Text);
    intLänge = strDual.Length;
    strZeichen = strDual.Substring(startIndex: 0, length: intLänge);
    intZeichen = Convert.ToInt32(strZeichen);


    for (int i = intZeichen; i > 0; i = intZeichen--)
    {

    if (intZeichen == 1)
    {
    intDezimal = i * 2 ^ intZeichen;
    }

    else
    {
    intDezimal = 0;
    }

    tbxDezimal.Text = intDezimal + tbxDezimal.Text;

    }

    Die gute Nachricht: Das Programm stürzt nicht ab!
    Die schlechte Nachricht: das Programm errechnet nichts.

    Langsam verliere ich den Überblick über dieses Programm. :(
     
  2. Anzeige

    Schau dir mal diesen Ratgeber an. Kann bei vielem weiterhelfen.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. Damien

    Damien Hülsenpresser

    Dabei seit:
    03.05.2008
    Beiträge:
    421
    Zustimmungen:
    6
    AW: C#: Dualzahl in Dezimalzahl umwandeln

    Hi !
    Problem1:

    Les dir mal genauer an was du mit Substring machst. Dann sollte dir auffallen das es nicht reicht das einmal am Anfang vor der Schleife zu benutzen.
    Du musst ja jedes Zeichen der Binärzahl bearbeiten. Also musst du mit Substring Schritt für Schritt durch die Zahl gehen. 1 Zeichen nehmen, zu Integer wandeln und dann benutzen. Wenn das Zeichen abgehandelt ist, ist das nächste dran.

    Substring(Startposition, Länge)
    Bsp:
    Substring(1,1) auf "Küchenmesser" -> K
    Substring(2,1) auf "Küchenmesser" -> ü
    Substring(3,1) auf Küchenmesser -> c
    Substring(1,6) auf "Küchenmesser" -> Küchen
    usw.

    Das muss auch irgendwo in deiner Schleife passieren bis du alle Zeichen abgearbeitet hast.

    Problem 2:
    Du musst über deinen Schleifenkopf nochmal nachdenken. Du wirfst da deine Variablen durcheinander... Denk mal drüber nach was in "intZeichen" drin steht .. und dein intLänge benutzt du gar nicht.

    Problem3:
    in beiden Zweigen deiner If-Abfrage überschreibst du "intDezimal" komplett.

    Stell dir also vor du landest durch eine "0" in "intZeichen" im else-Zweig. Dann wird "intDezimal" auf 0 gesetzt und alles was vorher in "intDezimal" gestanden haben mag überschrieben.

    Du musst in intDezimal durch Addition den Endwert "langsam" erreichen.
    Das heißt du hast in den If-Zweigen in beiden Fällen sowas wie intDezimal = intDezimal + Neuer Wert aus dem aktuellen Zeichen.

    Gruß David
     
  4. #13 Elektrohauer, 13.05.2012
    Elektrohauer

    Elektrohauer Strippenstrolch

    Dabei seit:
    16.07.2008
    Beiträge:
    123
    Zustimmungen:
    0
    AW: C#: Dualzahl in Dezimalzahl umwandeln

    Hallo.

    Hier die Lösung meines Rätsels:


    tbxDezi.ReadOnly = true;
    tbxDezi.Clear();
    intDezi = 0;



    strDual = Convert.ToString(tbxDual.Text);

    intLänge = strDual.Length;

    intHoch = intLänge-1;


    for (intZahlPosition = 0; intZahlPosition !=intLänge; intZahlPosition = intZahlPosition + 1)
    {

    strZeichen = strDual.Substring(intZahlPosition, 1);

    intDual = Convert.ToInt32(strZeichen);

    intZ = Convert.ToInt32( Math.Pow(2, intHoch));

    intHoch = intHoch - 1;

    intDezi = intDezi + (intDual * intZ);


    }


    tbxDezi.Text = Convert.ToString(intDezi);

    tbxDezi.ReadOnly = false;


    Danke für die Hilfe.
     
  5. Damien

    Damien Hülsenpresser

    Dabei seit:
    03.05.2008
    Beiträge:
    421
    Zustimmungen:
    6
    AW: C#: Dualzahl in Dezimalzahl umwandeln

    Super =) Glückwunsch =)

    David
     
Thema:

C#: Dualzahl in Dezimalzahl umwandeln

Die Seite wird geladen...

C#: Dualzahl in Dezimalzahl umwandeln - Ähnliche Themen

  1. Umwandlung von dezimalzahl in dualzahl

    Umwandlung von dezimalzahl in dualzahl: wie wandle ich 242 in eine dualzahl um?
  2. Binärzahlen dualzahlen! umrechnen !

    Binärzahlen dualzahlen! umrechnen !: Hallo SubTraktion Von Dualzahlen Brechne Sie Die Differen 9-12 Im Dualcode mit Hilfe Der Komplemtbildung und wandeln sie Das Ergebnis zürck...