ASCII Code in Binärzahlen umwandeln ?

vor 28 weeks 6 days von mitch4

Hi Leute

Ich bräuchte mal wieder eure hilfe..

Und zwar folgendes ich möchte gerne einen Ascii code den ich mittel Eingabe über die tastatur an den MC sende in ein Binären Code umwandeln oder noch besser in einen BCD Code .....

Ist das möglich ? ich habe zwar schon ein paar lösungsansätze probiert aber die geben mir dann nur einen komischen Binär Code aus der garnicht stimmen kann ....

ich hoffe es kann mir einer helfen...

Ähnliche Posts

6 Antworten auf “ASCII Code in Binärzahlen umwandeln ?”


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
  1. Kalle DL4DBY sagt:

    Hallo Mitch4,
    du müsstest nach meiner Meinung sogar zwei Mal umwandeln. Die ASCII-Zeichen 0....9 haben den Hexadezimalen Wert 30....39 oder Binär 0011 0000 .... 0011 1001. Wenn du also Hex 30 abziehst oder mit x0Fh ANDest, kriegst du den Zahlenwert.
    HTH

    Kalle DL4DBY

    Login or register to post comments

  1. mitch4 sagt:

    Kalle DL4DBY wrote:
    Hallo Mitch4,
    du müsstest nach meiner Meinung sogar zwei Mal umwandeln. Die ASCII-Zeichen 0....9 haben den Hexadezimalen Wert 30....39 oder Binär 0011 0000 .... 0011 1001. Wenn du also Hex 30 abziehst oder mit x0Fh ANDest, kriegst du den Zahlenwert.
    HTH

    Kalle DL4DBY

    also der teil mit dem x0Fh ANDest ist mir zu hoch ich habe auch keine info darüber gefunden ich weiss nicht genau was du damit meinst ?? könntest du dass mir bitte erklären ...

    und wenn ich bei den hex Zahlen 30 abziehe dann hab ich ja die Dezimal zahl und keine binär zahl...

    Login or register to post comments

  1. mitch4 sagt:

    Kalle DL4DBY wrote:
    Hallo Mitch4,
    du müsstest nach meiner Meinung sogar zwei Mal umwandeln. Die ASCII-Zeichen 0....9 haben den Hexadezimalen Wert 30....39 oder Binär 0011 0000 .... 0011 1001. Wenn du also Hex 30 abziehst oder mit x0Fh ANDest, kriegst du den Zahlenwert.
    HTH

    Kalle DL4DBY

    also der teil mit dem x0Fh ANDest ist mir zu hoch ich habe auch keine info darüber gefunden ich weiss nicht genau was du damit meinst ?? könntest du dass mir bitte erklären ...

    und wenn ich bei den hex Zahlen 30 abziehe dann hab ich ja die Dezimal zahl und keine binär zahl...

    Login or register to post comments

  1. Kalle DL4DBY sagt:

    Hallo Mitch4,
    jetzt weiß nicht so recht, ob ich deine Anfrage richtig verstanden habe.
    Aber du hast natürlich Recht: Mit dem abziehen von HEX 30 von einer ASCII-Zahl hast du den Zahlenwert. Eine UND-Verknüpfung mit 0Fh HEX setzt die "oberen" vier BIT auf 0 und berücksichtigt nur die unteren vier.
    Was genau willst du denn programmieren und was meinst du mit "BCD-Code" im Gegensatz zu "Binärcode"? Soll so eine Art "Codeumwandler" erzeugt werden - heißt etwa "Ich tippe eine '8' ein und Arduino antwortet mit "0000 1000"?
    Dann wäre eine bitweise Operation angesagt....

    Bis denne

    Kalle DL4DBY

    Login or register to post comments

  1. mitch4 sagt:

    Ich will eine 4 stellige 7 segmentanzeige ansteuern und möchte wie du es schon richtig geschrieben hast zb: eine 8 eintippen und Arduino antwortet mit 0000 1000 genau dass ist es was ich brauch hast du da irgendwelche lösungen parat da ich schon ziehmlich mit meinem latein am ende bin.

    Login or register to post comments

  1. Kalle DL4DBY sagt:

    Tja, mal abgesehen von dem Problem, wie du 8 Binärziffern auf 4 LED-Digits darstellen willst (ich vermute durch Halbbytes), sehe ich im Moment mehrere Lösungen:
    1.) Du steigst voll in das Binäre Zahlensystem ein (und lernst eine Menge!). Schau dir mal die bitweise Manipulation an unter z.B. http://www.arduino.cc/playground/Code/BitMath. Ich würde die Bits rechts schieben und auf "wahr" oder "falsch" testen.
    2.) Du machst die einfache Lösung, wenn nur die Ziffern 0...9 vorkommen und arbeitest mit switch case für die 10 Fälle. Falls aber größere Zahlen darstellen willst wird das schnell uneffektiv.
    Interessanterweise gibt es beim Arduino ja schon Typkonvertierungen von einigen Datentypen wie char(), byte() etc. - bloß eben nicht nach Binär. Vielleicht wirst du ja mit Suchbegriffen wie "binary conversion", "ASCII to Binary" oder ähnlichem fündig.

    Viel Erfolg!

    Kalle DL4DBY

    Login or register to post comments