Frage zu C

Gast #410176
Lesenswert?
• ▲
▼
Ich empfange 2 Char-Zeichen und will daraus eine float-Zahl mit 2
Nachkommastellen machen, also zum Bsp. 0,23 (die 0 bleibt immer gleich
und die 2 Nachkommastellen will ich aus den 2Char-Zeichen herleiten).
Das muesste doch irgendwie gehn oder???
Gast #410179
Lesenswert?
• ▲
▼
FloatZahl = (Char[0]-'0') * 0.1 + (Char[1]-'0') *0.01;

funktioniert so:
zahlen in char variablen werden im ascii code dargestellt. was so viel
bedeutet dass eine '0' in der char variable als 0x30 eine '1' als
0x31 usw dargestellt werden.

willst du nun den eigentlichen wert deiner zahl wissen so musst du eben
diese 0x30 oder die ascii '0' subtrahieren. dann bekommst du eine
"normale" 0 (0x00) zurück mit der du dann weiterrechnen kannst.

tja. die multiplikation sollte klar sein.

andi
Gast #410181
Lesenswert?
• ▲
▼
OK, danke fuer dei Antworten Leute, aber ncoh eine kleien Zugabe, ich
will noch was extra machen. ich will aus 5 einzelnen integer-Variablen
eine einzige unsigned int machen. Wie koennte ich das anstellen???
Also z.B. a=2 b=3 c=0 d=0 e=0 gibt ui=23000
Jemand ne Idee??
#410185
Lesenswert?
• ▲
▼
Alternativ kannst du auch noch die Horner Regel anwenden und
ein bischen optimieren.

  ui = (((((( a * 10 ) + b ) * 10 + c ) * 10 ) + d ) * 10 ) + e;

Jetzt muss nur noch der Compiler mitspielen und die Multiplikationen
mit 10 durch eine schnellere Additionens/Schiebe-Sequenz ersetzen.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.