Dual -> Dezimal umrechnung



  • Hallo allerseits,
    ich hoffe hier ein gutes forum gefunden zu haben in dem mir geholfen werden kann.
    Ich bin seit neuestem student und muss da auch in c programmieren.
    da ich aber davon vorher noch nichts gehört habe ist das nicht so einfach für mich. 😞

    Meine Aufgabe ist nun ein Programm zu schreiben welches mir eine Dualzahl in eine Dezimalzahl umwandelt.

    Könnte mir dabei jemand helfen bzw. mir eins schicken und einige eklärende worte zu den einzelnen Schritten schreiben?

    das wäre echt nett.
    mfg sebastian



  • sorry, habe es zweimal gepostet



  • Nur durch Selbermachen lernt man. Ist ja auch wirklich nciht so schwer. Überleg dir erstmal, wie du selber "per Hand" die Umrechung machen würdest.



  • wie ich es per hand machen würde weiss ich...

    hier muss ich den string (z.b. 101)einlesen und dann müsste jede position des strings von rechts aus mit aufsteigender potenz z.b. zur basis 2 multipliziert werden. diese ergebnisse aller rechnungen addieren und das müsste es gewesen sein..oder?
    aber wie schreib ich das als programm?



  • niteprowler schrieb:

    wie ich es per hand machen würde weiss ich...

    gut

    hier muss ich den string (z.b. 101)einlesen

    Hört sich nach dem einlesen eines strings mit scanf an.

    und dann müsste jede position des strings

    hört sich nach einer for-schleife an, die jede position des strings durchgeht.

    von rechts aus mit aufsteigender potenz z.b. zur basis 2 multipliziert werden.

    hört sich danach an, als ürden wir nach jedem schleifendurchlauf eine anfangs auf 1 gesetzte variable mit 2 multiplizieren. ist an der stelle im string eine 1, so addieren wir den wert auf eine hilfsvariable, die vor der schleife auf 0 gesetzt wurde.

    das müsste es gewesen sein..oder?

    ja

    aber wie schreib ich das als programm?

    Mit einem geeigneten Editor.



  • danke für die antwort.
    bin mir zwar nicht sicher ob ich
    -------------
    Zitat:

    und dann müsste jede position des strings

    hört sich nach einer for-schleife an, die jede position des strings durchgeht.

    Zitat:

    von rechts aus mit aufsteigender potenz z.b. zur basis 2 multipliziert werden.

    hört sich danach an, als ürden wir nach jedem schleifendurchlauf eine anfangs auf 1 gesetzte variable mit 2 multiplizieren. ist an der stelle im string eine 1, so addieren wir den wert auf eine hilfsvariable, die vor der schleife auf 0 gesetzt wurde.
    -----------

    diese stellen hinbekomme, aber werde es versuchen. danke



  • Da ein String in c ein array von buchstaben (chars) ist, kannst du auf eine position im string wie auf ein array zugreifen also mit

    string[0]

    bekommst du den ascii-wert des ersten "buchstaben". der string wird abgeschlossen mit einer 0



  • poste deinen code-ansatz und dir wird mit sicherheit auch weitergeholfen. eine fertige lösung wird dir hier keiner präsentieren

    Gruß
    Horst


Log in to reply