Forum: Mikrocontroller und Digitale Elektronik logarithmus (log)


von Alain F. (fox82)


Lesenswert?

Ahoi!

Wollte fragen, ob es eine LOG-Funktion gibt?

Möchte mir den Taupunkt aus relative Luftfeuchtigkeit und der Temperatur 
berechnen: http://www.wettermail.de/wetter/feuchte.html
1
Taupunkt = log (10);
2
3
char char_Taupunkt[20]; // in diesem {} lokal
4
5
itoa( Taupunkt, char_Taupunkt, 10 ); 
6
display_ptext( char_Taupunkt,3,0);

Das wird zwar vom AVR-Studio akzeptiert aber das Resultat wird falsch 
angezeigt. Log(10) = 1 angezeigt 2.

von Arc N. (arc)


Lesenswert?

log berechnet in C den natürlichen Logarithmus, nicht den zur Basis 10.

von Benedikt K. (benedikt)


Lesenswert?

Alain Fuchs wrote:
> Das wird zwar vom AVR-Studio akzeptiert aber das Resultat wird falsch
> angezeigt.

Nö, das Ergebnis passt.

> Log(10) = 1

Nein, log(10)=2,3025850929940456840179914546844

> angezeigt 2.

Da du ein int verwendest.

Du suchst wohl eher log10(10)=1,000
log() ist der natürliche Logarithmus, log10() ist der 10er.

von STK500-Besitzer (Gast)


Lesenswert?

versuch's mal mit "log10()" und float-Zahlen.

von Alain F. (fox82)


Lesenswert?

Hallo Danke für die Antworten



>Nein, log(10)=2,3025850929940456840179914546844

ln = Logarithmus Naturalis = Jap das stimmt aber nicht mit Basis 10.

Habe jetzt gemacht:


Taupunkt = log10 (1000);

Das gibt mir 3

Jetzt stimmts!!!

Danke vielmals

von Alain F. (fox82)


Lesenswert?

Nochmals eine Frage:

Wenn ich den Wert habe 6.1078 * Etwas muss ich danach alles 10000 mal 
höher rechnen oder gibt es eine Kommafunktion?

Und 10^2 gibt nicht 100 sondern 8???

von Εrnst B. (ernst)


Lesenswert?

Alain Fuchs wrote:

> Und 10^2 gibt nicht 100 sondern 8???

Stimmt doch:
1
10 == 0b1010
2
 2 == 0b0010
3
XOR  -------
4
 8 == 0b1000

^ ist in C XOR, nicht Hoch. siehe dazu: "pow()"

von Alain F. (fox82)


Lesenswert?

>siehe dazu: "pow()"

Ohhhh!!!

Taupunkt = pow(10,2);

= 100

:-) :-)

Jetzt ist nur noch die Frage mit dem Float offen.

Rechne es bis jetzt immer mit ganzen Zahlen und sitofix.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.