PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fliesskomma auf RP6



hellhammer
17.03.2008, 17:47
Erstmal hallo zusammen

Hab mich hier eben erst registriert und dies ist somit mein erster Beitrag hier



Ich habe mir letzte Woche den RP6 besorgt und bin am fleissig ausprobieren, heisst ich versuche mich ein bisschen in C (hab da schon bisschen Erfahrung aber naja ;P)

Mein Problem sind Fliesskommazahlen.. Ich weiss nicht ob das hier reinpasst aber ich wollte z.B. eine Sinus Funktion übers Terminal ausgeben.. aber da kommt ausser einer 0 nichts weiter.
Ich habe bisher keine andere Möglichkeit gefunden um Zahlen auszugeben ausser durch writeInteger und ich glaube auch hier ist das Problem..

Habe schon mit double, float und long als Var. probiert und math.h includiert
Wenn ich z.B. log(100) ausgeben lasse kommt 4, statt eine 2 und bei log(1000) kommt 6 statt 3

double x = 10
writeInteger(sin(x), DEC);



Kann mir wer helfen? Wo liegt mein Denkfehler? Ich möchte einfach das es mir die richtigen Zahlenwerte über das Terminal ausgibt hehe.

Besten Dank im Vorraus!

Dirk
17.03.2008, 18:04
Hallo hellhammer,

ja, das Problem ist die Ausgabe.
Wenn du erg = sin(10); ausgeben willst, ist das ja kein Integer-Wert.
Du kannst aber z.B. das Ergebnis (erg) mit 1000 multiplizieren (erg *= 1000;) und dann ausgeben:

writeIntegerLength((erg / 1000), DEC, 1);
writeChar('.');
writeIntegerLength((erg % 1000), DEC, 4);

Die Zahl der Vor- und Nachkommastellen könntest du je nach Anwendung anpassen.

Gruß Dirk